尝试在空对象引用上调用虚拟方法'java.lang.String com.register.register.file.User.getName()'

时间:2018-11-19 09:41:24

标签: android nullpointerexception

enter image description here

无法从Firebase数据库检索数据

我正在尝试从Firebase数据库检索用户名,但是它不起作用

String Uid;
String name;//below code is in onCreate()
mDatabaseRef.addValueEventListener(new ValueEventListener() {
        @Override public void onDataChange(DataSnapshot dataSnapshot) {
            FirebaseUser uid=FirebaseAuth.getInstance().getCurrentUser();
            Uid=uid.getUid();
            mDatabaseRef = FirebaseDatabase.getInstance().getReference().child(Uid);
            User user1 = dataSnapshot.getValue(User.class);
            name =user1.getName();
            userName.setText(name);
            Toast.makeText(HomeActivity.this, name, Toast.LENGTH_SHORT).show();
        }

        @Override public void onCancelled(DatabaseError databaseError) {
        }});

1 个答案:

答案 0 :(得分:0)

尝试

        String name;
        String Uid;
        FirebaseUser uid = FirebaseAuth.getInstance().getCurrentUser();
        Uid = uid.getUid();
        mDatabase.child("Users").child(Uid).addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                User user = dataSnapshot.getValue(User.class);
                name = user.getName();
                Toast.makeText(HomeActivity.this, name, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });