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裏面 –