我用这个代码来检查是否有我的数据库特定的数据:为什么OnDataChange()仍然被调用,即使数据库中没有数据?
mDatabase.child("TempTransaction").child(MainActivity.User.getID()).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.child("state").getValue().equals("Pending")) {
mTransactionExist = true;
} else {
mTransactionExist = false;
}
}
我首先想到的是,如果我有一个特定的孩子没有TempTransaction在我的JSON分贝ValueEventListener(onDataChange)应该永远不会被执行。事实证明,即使我将孩子“TempTransaction”更改为任何字符串,如仍然调用onDataChange的“asdasfasfx”或“xcvcxwasd”。 这是为什么?
是否有任何firebase的默认关键字或东西,使其跳过,如果没有在数据库结构中找到特定的孩子?
谢谢。我现在知道了。 –