在我的应用程序中,我有一个ID,它应该从Firebase实时数据库中拉取。如果我将其下拉并且发现没有可用的ID,则将ID设置为1。我进行了调试,发现ID已经设置为1,但是在侦听器完成后,ID变为了0。我不知道为什么或者是什么原因导致了这种情况,但这是我的代码。
侦听器的代码:
侦听器的代码:
userRef.child("id").
addSingleValueEventListener(new ValueEventListener() {
@Override public void onDataChange (DataSnapshot dataSnapshot){
try {
String value = dataSnapshot.getValue().toString();
id = Integer.parseInt(value);
} catch (NullPointerException e) {
id = 1; //After this, id is 1
e.printStackTrace();
}
}
@Override public void onCancelled (DatabaseError databaseError){
id = 1;
}
}); //Now id is 0