作为标题,我不想为所有子节点附加侦听器,我只是想为某些子节点附加和删除侦听器。我怎样才能做到这一点。据我所知,如果要删除侦听器,则必须为其命名,但是在这种情况下,我们无法命名所有侦听器。这种情况的示例:
ROOT
---1
---A
---B
---C
---More here
---2
---D
---E
---F
---More here
我只想为A,C或某些其他节点附加和删除侦听器。不是所有的人。该怎么做?
更新:这是我正在使用的数据库和代码,但我只想从某些特定节点(而不是全部节点)附加和删除侦听器。希望这会有所帮助。
GlobalConstants.ROOT_REF.child("USERS")
.orderByChild("active").equalTo("online")
.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
// update status here
}
@Override
public void onChildChanged(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
// update status here
}
@Override
public void onChildRemoved(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(@NonNull DataSnapshot dataSnapshot, @Nullable String s) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});