在Firebase实时数据库上更改数据时获取实时数据更改更新

时间:2020-02-06 14:50:52

标签: java android firebase firebase-realtime-database

我已经编写了这段代码来获取数据。但是我想获取更新而不重新启动活动,因为数据库中的数据实时更改。

我想动态显示数据:

window.outerWidth/Height

2 个答案:

答案 0 :(得分:1)

如果需要实时获取数据,则应使用实时侦听器。要解决此问题,请将您的代码更改为:

FirebaseDB.batch.child(batch).addValueValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
            //Update recyclerview here
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

看,我用过Query的addValueEventListener()

添加一个侦听器,以查找此位置上的数据更改。

代替addListenerForSingleValueEvent()

为该位置的数据中的单个更改添加侦听器。

答案 1 :(得分:1)

您使用了错误的侦听器。根据{{​​3}},此侦听器将仅触发一次。

您需要使用firebase documentation中所述的简单ValueEventListener