addSnapshotListener
でリアルタイムアップデートを使用すると、新しいFirebaseFirestoreデータベースにどのようにページを設定できますか。Android Firebase FireStoreリアルタイム更新ページ設定
私が抱えている問題は、一度クエリを設定するとlimit()
を更新できないため、同じ制限が残っており、さらにデータを読み込むことができないということです。
これは私が現在持っているものです(私はそれがまたaddSnapshotListener
方法に活動を渡してやっていることを知って)
private Query query = db.collection("groups").orderBy("id", Query.Direction.DESCENDING).limit(15);
これらは、クエリパラメータであり、そして私は、データベースのリスナーを削除するListenerRegistration
を持っています。
これは、データをフェッチするためのコードです:言われたよう
registration = query.addSnapshotListener(this, new EventListener<QuerySnapshot>() {
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
mGroupArrayList.clear();
if (e != null) {
Log.w("MAINACTY", "listen:error", e);
return;
}
for (DocumentSnapshot dc : documentSnapshots.getDocuments()) {
// Get the last visible document
lastVisible = documentSnapshots.getDocuments()
.get(documentSnapshots.size() - 1);
mGroupArrayList.add(dc.toObject(Group.class));
}
adapter.notifyDataSetChanged();
}
});
、問題は私が最初のクエリに設定された制限を更新することはできませんということです、と私は新しいクエリを実行しようとした場合その情報を編集したり、私がその活動を離れると、古い情報は消えてしまいます。
ドキュメントには、get()
のページ付け方法の例しかありませんが、その方法ではリアルタイム更新はありません。
がこのために参考になるかもしれませあなたhttps://stackoverflow.com/questions/37711220/firebase-android-pagination –
リンクのおかげで、それは新しいfirestoreデータベースではありません。 – Jonny