NullPointerException从Firebase检索值时

时间:2017-11-01 03:50:35

标签: android firebase firebase-realtime-database

我创建了一个database相关应用。当我运行我的应用程序时会自动停止。在Log cat中它在Datachange上显示NullPointerException。

以下是我的Firebase代码:

@Override
protected void onStart() {
    super.onStart();
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference ezzeearnRef = rootRef.child(firebaseAuth.getCurrentUser().getUid());
    ValueEventListener eventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            long points = dataSnapshot.child("Points").getValue(Long.class);
            tv.setText(String.valueOf(points));
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
        }
    };
    ezzeearnRef.addValueEventListener(eventListener);
}

1 个答案:

答案 0 :(得分:0)

您好我认为您将datasnapshot作为null然后您还要访问datasnapshot的值请写下面的行并检查,

替换以下代码:

long points = dataSnapshot.child("Points").getValue(Long.class);
            tv.setText(String.valueOf(points));

以下

if(dataSnapshot.exist()){
long points = dataSnapshot.child("Points").getValue(Long.class);
            tv.setText(String.valueOf(points));}

然后试试。