我在一个活动中有4个ChildEventListener。当活动启动时,第4个ChildEventListener执行第1个,然后执行第3个,第2个,第1个,有时会以相反的顺序1,2,3,4执行。因此它没有按顺序加载。下面提到ChildEventListener侦听器示例。
AfirebaseDatabaRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
BfirebaseDatabaRef.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
答案 0 :(得分:0)
我认为您不太了解这些侦听器,仅针对该节点注册了该节点,因此只为该节点注册了回调,因此,如果您有多个节点,并且每个节点在更改时都向其注册了回调发生在任何节点上时,只会触发相应的回调,因此顺序应该是节点中的更改而不是回调,我希望这能回答您的问题。