次の関数は、必要に応じてFirebaseデータベースから特定のノードを削除するaddChildEventListenerから呼び出されます。 ここでの問題は、関数が「Item removed」を起動することです。タスクが正常に実行されたことを示すが、ノードはデータベース上に存在し続ける。Android - Firebaseデータベースからノードを削除する際の問題
誰かが間違っていることを教えてもらえますか?
private void showData(DataSnapshot ds) {
String keyValue = null;
if(ds.hasChildren()) {
keyValue = ds.getKey();
Toast.makeText(getActivity().getApplicationContext(), "Removing item...", Toast.LENGTH_SHORT).show();
ds.getRef().child(keyValue).removeValue().addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(getActivity().getApplicationContext(), "Item removed.", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(getActivity().getApplicationContext(), "Something bad happened while removing item.", Toast.LENGTH_SHORT).show();
}
}
});
}
}
EDIT ことができます場合は、私のクエリは以下の通りです:
orderItemsByTime = db.getInstance().getReference().child("items").orderByChild("time");
あなたは 'とき' addOnCompleteListener') '.getRefを(削除しようとしたことがありますか? –
それをしました。残念ながら、動作しませんでした。 –