0
在firebase中,onDataChange
每次执行if条件内的代码时调用两次。 这是我的代码。onDataChange addListenerForSingleValueEvent发射两次
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
if(snapshot.child("visité").getValue().toString().equals(visité.getText().toString())
&& snapshot.child("date").getValue().toString().equals(date.getText().toString())
&& snapshot.child("zone").getValue().toString().equals(zone.getText().toString())
&& snapshot.child("etat").getValue().toString().equals("Créé")){
mDB.child(visiteur).child(snapshot.getKey()).removeValue();
loadData();
} else {
Toast.makeText(context,getString(R.string.suppr_error), Toast.LENGTH_SHORT).show();
}
}
}
在阅读了类似的问题后,我认为它是由onDataChange内部的循环引起的。我如何获得onDataChange的循环?
有没有什么办法我可以得到它没有被调用一次? –
使用'addListenerForSingleValueEvent'会调用'onDataChange'一次 –
addDataChange已经在addListenerForSingleValueEvent里面 –