我已经编写了这段代码来获取数据。但是我想获取更新而不重新启动活动,因为数据库中的数据实时更改。
我想动态显示数据:
window.outerWidth/Height
答案 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