我在一个活动中有4个ChildEventListener。当activity启动第4个ChildEventListener时,它将按相反的顺序1、2、3、4执行,然后执行1、2、2、1和1,因此不会按顺序加载。下面提到了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) {
}
});
发布于 2018-07-29 04:53:59
我认为你不太了解这些侦听器,回调是为注册到它的节点调用的,只有这个节点,没有其他节点,所以如果你有多个节点,每个节点都注册了回调,当任何节点发生变化时,相应的回调只会被触发,所以顺序应该是节点中的变化,而不是回调,我希望这回答了你的问题。
https://stackoverflow.com/questions/51574743
复制相似问题