为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的用户名没有出现在 TextView 中?

为什么我的用户名没有出现在 TextView 中?

潇潇雨雨 2022-05-25 17:23:56
我有一个java.lang.NullPointerException,我不知道如何解决它。我的用户名没有出现在TextView中。public class Main extends AppCompatActivity {  CircleImageView profilepic;  TextView profileuser;  FirebaseUser firebaseUser;  DatabaseReference reference;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    Toolbar toolbar = findViewById(R.id.toolbar);    setSupportActionBar(toolbar);    getSupportActionBar().setTitle("");    profilepic = findViewById(R.id.profile_image);    profileuser = findViewById(R.id.username);    firebaseUser = FirebaseAuth.getInstance().getCurrentUser();    reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());    reference.addValueEventListener(new ValueEventListener() {        @Override        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {            User user = dataSnapshot.getValue(User.class);            profileuser.setText(user.getUsername());            if (user.getImageURL().equals("default")){                profilepic.setImageResource(R.mipmap.ic_launcher);            }else{                Glide.with(Main.this).load(user.getImageURL()).into(profilepic);            }        }        @Override        public void onCancelled(@NonNull DatabaseError databaseError) {        }    });日志说我有错误profileuser.setText(user.getUsername());请帮助我。
查看完整描述

2 回答

?
慕姐4208626

TA贡献1852条经验 获得超7个赞

从日志中,我认为这user.getImageURL()是 null,因此您可以在比较之前先检查该值是否为 null。或者更标准的方法是移动你知道它不是空的东西,equals就像这样 if ("default".equals(user.getImageURL()))



查看完整回答
反对 回复 2022-05-25
?
慕慕森

TA贡献1856条经验 获得超17个赞

这通常是因为您的数据引用错误。这可能是问题:


reference = FirebaseDatabase.getInstance().getReference("Users").child(firebaseUser.getUid());

典型的数据节点名称使用小写字母,因此您可能有错字。


或者您需要检查您是否拥有正确的用户数据:


User user = dataSnapshot.getValue(User.class);


if(user == null) {

  // data not found

  return;

}


// check for non null user name

if(user.getUsername != null) {

  profileuser.setText(user.getUsername());

}


// check for non null image url

if(user.getImageURL() != null) {

  if (user.getImageURL().equals("default")){

    ...

  }

}


查看完整回答
反对 回复 2022-05-25
  • 2 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信