1
我在我的Android應用程序面臨的一個問題火力地堡實時數據庫。ValueEventListener觸發onDataChange方法只需一次
什麼我想是更新實時列表。但更新僅適用於應用程序啓動。它不會自動更新。所以,我需要在需要更新時重新啓動應用程序。
是否有缺失的部分?我很感激任何幫助。由於
問題: 監聽器觸發只有在應用程序重啓onDataChange
方法。數據是正確的。但之後聽衆不工作。
代碼:
mRef = FirebaseDatabase.getInstance().getReference();
mPostRef = mRef.child(DbUtils.POST_CHILD);
mPostRef.keepSynced(true);
mPostRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<Post> objList = new ArrayList<>();
for(DataSnapshot objSnapShot: dataSnapshot.getChildren()){
Post obj = objSnapShot.getValue(Post.class);
obj.setKey(objSnapShot.getKey());
objList.add(obj);
}
mAdapter.addAllAndNotify(objList);
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.i("Posts", "Listener was canceled");
}
});
確定數據正在改變?嘗試使用Firebase控制檯更改數據。我運行了10.0.1版的代碼,onDataChange()在數據更改時觸發。 –
我在控制檯中更改了數據。代碼不起作用。 只要你改變你的數據是否更新? (我使用9.8.0,將使用10.0.1進行嘗試)。謝謝你的幫助。 –
向'onDataChange()'添加'Log'語句以查看回調何時觸發。 –