如何按顺序执行android firebase multiple childeventlistiner
我在一个活动中有4个ChildEventListener。当活动启动第四个ChildEventListener时,将执行第一个,然后执行第三个、第二个、第1个,并且在某个时间,它将以1、2、3、4的相反顺序执行。所以它不是按顺序加载的。下面提到了ChildEventListener侦听器示例如何按顺序执行android firebase multiple childeventlistiner,android,firebase-realtime-database,Android,Firebase Realtime Database,我在一个活动中有4个ChildEventListener。当活动启动第四个ChildEventListener时,将执行第一个,然后执行第三个、第二个、第1个,并且在某个时间,它将以1、2、3、4的相反顺序执行。所以它不是按顺序加载的。下面提到了ChildEventListener侦听器示例 AfirebaseDatabaRef.addChildEventListener(new ChildEventListener() { @Override public v
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) {
}
});
我认为您不太了解这些侦听器,只为注册到该节点的节点调用回调,而不是其他节点,因此如果您有多个节点,并且每个节点都注册了回调,当任何节点发生更改时,只会触发相应的回调,因此,顺序应该是节点中的更改,而不是回调,我希望这能回答您的问题。您到底为什么希望它们按顺序执行。他们是监听器,应该在什么时候执行。如果你真的非常渴望序列执行,你需要相应地编写你的逻辑,或者创建一个状态机制。这听起来像是一个暂时的问题。这听起来也像是预期的行为:侦听器将启动以加载其数据。你想通过这些听众实现什么?也许有一个简单的方法可以得到你想要的。