在firebase中,我尝试使用ChildEventListener
。但在某些情况下,我正在寻找的快照不存在。如果没有快照,则不会调用子事件侦听器的方法。我发现要检查现有的快照,我需要使用ValueEventListener
。但是使用ValueEventListener进行检查以及使用ChildEventListener后不方便。那么,有什么解决方案吗?
答案 0 :(得分:1)
您只能将if(dataSnapshot.exists()
与ValueEventListener或SingleValueEvent一起使用,它不能与ChildEventListener一起使用。
但是如果您想使用ChildEventListener
,请将其嵌套在ValueEventListener
示例:
mRootRef.child("user").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
//add childeventlistener here
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});