我如何按顺序执行android firebase多个childeventlistiner

时间:2018-07-28 19:52:11

标签: android firebase-realtime-database

我在一个活动中有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) {

        }
    });

1 个答案:

答案 0 :(得分:0)

我认为您不太了解这些侦听器,仅针对该节点注册了该节点,因此只为该节点注册了回调,因此,如果您有多个节点,并且每个节点在更改时都向其注册了回调发生在任何节点上时,只会触发相应的回调,因此顺序应该是节点中的更改而不是回调,我希望这能回答您的问题。