当 getActivity() 返回 null 时,您无法在尚未附加的 View 或 Fragment 上启动加载(这通常发生在附加 Fragment 之前或销毁 Fragment 之后调用 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) {
}
});
添加 fragment 时我的应用程序崩溃。
最佳答案
您需要尝试这样的代码:
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) {
}
});
关于java - 添加 fragment 时出现 Glide 库错误或应用程序崩溃,并且还显示该特定问题的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56003460/