0
firebaseでは、onDataChange
がif条件内のコードが実行されるたびに2回呼び出されます。 ここに私のコードです。onListenerForSingleValueEventのonDataChangeが2回発生しました
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の中にあります –