![](/img/trans.png)
[英]Show GIF image in fragment ImageView by URL using Glide on Android 7+
[英]Glide Library Error or Application Crash while Adding the Fragment and Also show image on that specific problem
您无法在尚未附加的View或片段上启动加载,其中getActivity()返回null(通常在附加片段之前或片段被销毁之后调用getActivity()时发生。
fuser = FirebaseAuth.getInstance().getCurrentUser();
reference = FirebaseDatabase.getInstance().getReference("Users").child(fuser.getUid());
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(isAdded()) {
User user = dataSnapshot.getValue(User.class);
assert user != null;
username.setText(user.getUsername());
if (user.getImageURL().equals("default")) {
image_profile.setImageResource(R.mipmap.ic_launcher);
} else {
Glide.with(ProfileFragment.this).load(user.getImageURL()).into(image_profile);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
添加片段时我的应用程序崩溃了。
您需要尝试这样的代码:
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(isAdded()) {
User user = dataSnapshot.getValue(User.class);
assert user != null;
username.setText(user.getUsername());
if (user.getImageURL().equals("default")) {
image_profile.setImageResource(R.mipmap.ic_launcher);
} else {
if(getAcivity()!=null && !getAcivity().isFinishing())
Glide.with(getAcivity()).load(user.getImageURL()).into(image_profile);
}
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
如果要添加任何片段。 应用程序崩溃然后你必须检查首先添加片段或不。
这可能导致两个错误。 第一个解决方案也在Stackoverflow上。
第二个问题是你从另一个活动中获得崩溃请使用NameOFActivity.this或getApplicationContext()然后转到你正在做那个空间任务的片段OR活动并添加第一个解决方案
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.