Я создаю текстовое приложение.У меня есть DashboardActivity
, который расширяет NavDrawer
.Я хочу показать фотографию профиля и имя пользователя на этом NavDrawer
.У меня есть ProfileActivity
, который успешно показывает эти данные в этом упражнении, но всякий раз, когда я пытаюсь поместить эти данные в свой NavDrawer
, я получаю NPE
на mAuth
.Я пытаюсь установить изображение и имя в setContentView()
моего NavDrawer
класса.Это мой код:
@Override
public void setContentView(final int layoutResID) {
super.setContentView(R.layout.nav_drawer);
//removed inflating layout code
final TextView username = findViewById(R.id.txtNavUsername);
final CircleImageView profilePic = findViewById(R.id.nav_profile_pic);
firestore.collection("Users").document(mAuth.getCurrentUser().getUid()).get().addOnSuccessListener(new OnSuccessListener<DocumentSnapshot>() {
@Override
public void onSuccess(DocumentSnapshot documentSnapshot) {
try {
String user_image = documentSnapshot.getString("image");
username.setText(documentSnapshot.getString("name"));
RequestOptions placeholderOption = new RequestOptions();
placeholderOption.placeholder(R.mipmap.ic_launcher_round);
Glide.with(NavDrawer.this).load(user_image).into(profilePic);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
На уровне класса у меня есть
private FirebaseFirestore firestore = FirebaseFirestore.getInstance();
private FirebaseAuth mAuth = FirebaseAuth.getInstance();
Что я делаю не так?Почему я получаю исключение нулевого указателя, даже когда пользователь вошел в систему?