正在读取要在中使用的Firebase Auth
我正在制作一个短信应用程序。我有正在读取要在中使用的Firebase Auth,firebase,nullpointerexception,google-cloud-firestore,Firebase,Nullpointerexception,Google Cloud Firestore,我正在制作一个短信应用程序。我有DashboardActivity,它扩展了NavDrawer。我想在NavDrawer上显示配置文件图片和用户名。我有一个档案活动,它成功地在该活动中显示了此数据,但每当我尝试将此数据放入我的导航抽屉,我就会在mAuth上得到一个NPE。我正在尝试在我的NavDrawer类的setContentView()中设置图片和名称。这是我的代码: @Override public void setContentView(final int layoutResI
DashboardActivity
,它扩展了NavDrawer
。我想在NavDrawer
上显示配置文件图片和用户名。我有一个档案活动
,它成功地在该活动中显示了此数据,但每当我尝试将此数据放入我的导航抽屉
,我就会在mAuth
上得到一个NPE
。我正在尝试在我的NavDrawer
类的setContentView()
中设置图片和名称。这是我的代码:
@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();
}
}
});
}
我做错了什么?为什么即使用户登录,我也会收到空指针异常?您在哪一行代码处收到
NPE
?除此之外,我还成功地实现了一个相同的东西,如果你有时间,你可以看一看。我在mAuth.getCurrenUser().getUid()
上看到它,它是空的。让我看看你的回购协议。谢谢。我得到了它。我刚刚将代码移到了“drawerropen()”。谢谢你,亚历克斯。
private FirebaseFirestore firestore = FirebaseFirestore.getInstance();
private FirebaseAuth mAuth = FirebaseAuth.getInstance();