【发布时间】:2020-04-07 12:26:16
【问题描述】:
我正在开发具有 2 个活动的简单应用程序。第一个显示 ListView(从云 Firestore 获取数据)和 1 个按钮,最后一个具有更改我的 Firestore 数据或添加新数据的功能。
我的问题是我的 ListView 项目在我重新启动应用程序之前不会改变。当我从第二个活动按下返回按钮时,我希望它通知更新并显示给我。
所以我想为我的云 Firestore 的数据库添加侦听器,或者我想获取上次添加或更新的未请求文档。 然后我可以在 onStart() 函数上将其更改或添加到我的 ListView 中。
这是我检索数据的方式,mCollectionRef 是集合参考
mCollectionRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if(task.isSuccessful()){
for(QueryDocumentSnapshot documentSnapshot : Objects.requireNonNull(task.getResult())){
Book tempBook = new Book(documentSnapshot.getId(),documentSnapshot.getString("title"),documentSnapshot.getString("author"),documentSnapshot.getString("publisher"),documentSnapshot.getLong("copies"));
booksList.add(tempBook);
customAdapter.notifyDataSetChanged();
}
}
else{
Log.v("Error on book documents", String.valueOf(task.getException()));
}
}
});
【问题讨论】:
标签: android firebase google-cloud-firestore