【发布时间】:2018-02-01 19:15:14
【问题描述】:
我正在尝试从 Firebase 中的节点中删除一个值。 似乎没有达到 onDataChange。
我尝试查找文档和文章,并使用了我在多个地方看到的一些代码(例如Remove Specific value From Firebase Database)。不会调用 onDataChange 中的日志语句,而是调用它之前的日志语句。从log语句可以看出email的范围很好
I/emailRemove: 111@aol.com
I/removeEmail: Inside Method
在本例中,我想删除包含电子邮件“111@aol.com”的任何区域:
private void removeEmail() {
Log.i("emailRemove", email);
Log.i("removeEmail","Inside Method");
Query emailQuery = mDatabase.child("emailAddress").equalTo(email);
emailQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot emailSnapshot: dataSnapshot.getChildren()) {
Log.i("snapshot", emailSnapshot.toString());
Log.i("snapshotRef", emailSnapshot.getRef().toString());
emailSnapshot.getRef().removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("TAG", "onCancelled", databaseError.toException());
}
});
}
【问题讨论】:
标签: java android firebase-realtime-database listener