gpt4 book ai didi

android - ValueEventListener 只触发一次 onDataChange 方法

转载 作者:行者123 更新时间:2023-11-30 00:51:13 26 4
gpt4 key购买 nike

我的 Android 应用中遇到了 Firebase 实时数据库的问题。

我正在尝试的是实时更新列表。但更新仅适用于应用程序启动。它不会自动更新。因此,我需要在需要更新时重新启动应用程序。

有没有遗漏的部分?感谢您的帮助。谢谢

问题:监听器仅在应用重启时触发 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 不支持多重连接。因此,我从 Activity 中删除了所有其他 DatabaseReference。现在可以使用了。

感谢那些试图帮助我的人。

关于android - ValueEventListener 只触发一次 onDataChange 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41009182/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com