【发布时间】:2019-07-24 01:11:50
【问题描述】:
我有一个导航抽屉设置。我在抽屉上的一个片段允许用户上传图像,然后显示图像。图像上传并显示正常,但如果用户离开片段并返回图像视图,则不会加载任何内容并显示为空,即使占位符图像也不显示。相同的图像也会显示在导航抽屉中,但在用户离开应用程序并返回占位符之前不会更新,并且不会在此处显示。
个人资料片段
mUsersDB.get()
.addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if (documentSnapshot.exists()) {
String name = documentSnapshot.getString(KEY_NAME);
mName.setText(name);
String status = documentSnapshot.getString(KEY_STATUS);
mStatus.setText(status);
String image = documentSnapshot.getString(KEY_IMAGE);
if (mDisplayImage.getDrawable() == null){
mDisplayImage.setImageResource(R.drawable.default_no_profile_picture);
} else {
Glide.with(getActivity()).load(image).into(mDisplayImage);
}
FirebaseUser currentFirebaseUser = FirebaseAuth.getInstance().getCurrentUser();
} else {
}
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
导航抽屉:
mUsersDB.get()
.addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
if (documentSnapshot.exists()) {
String name = documentSnapshot.getString(KEY_NAME);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
View headerView = navigationView.getHeaderView(0);
TextView navUsername = (TextView) headerView.findViewById(R.id.menu_userName);
navUsername.setText(name);
String image = documentSnapshot.getString(KEY_IMAGE);
ImageView navImage = headerView.findViewById(R.id.menu_image);
Glide.with(getApplicationContext())
.load(image)
.into(navImage);
我在网上发现他们正在谈论分离和重新附加监听器,但我没有监听器设置,所以我不明白如何在我发现使用 .setdrawerlistner 但已被弃用的情况下实现它。非常感谢您在这一点上丢失任何帮助
【问题讨论】:
-
“我在抽屉里的一个片段...”你真的在导航抽屉上有一个片段吗?
-
不,我措辞不好会更新它片段是导航抽屉上的一个标签
标签: android android-fragments navigation-drawer