我创建了一个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);
}
答案 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));}
然后试试。