如何按顺序执行android Firebase多个Childeventlistiner?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (73)

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

        }
    });
提问于
用户回答回答于

我不认为你很理解这些监听器,回调是为只注册到这个节点而不是其他节点去调用,所以如果你有多个节点,每个节点都注册了回调,当任何节点发生改变时,相应的回调只会被触发,所以序列应该是节点中的改变而不是回调,我希望这能回答你的问题。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励