Я слушаю изменения в коллекции со слушателем
query.addSnapshotListener(new EventListener<QuerySnapshot>()
Когда я добавляю первый документ, слушатель получает его, и он работает, как я хочу, но потом, когда яПри добавлении второго документа мой слушатель снова получает этот второй документ и , первый, затем с третьим записывает этот третий документ, остальные 2 и так далее.
Можно ли сделать так, чтобы мой слушатель получал только последний документ, когда он был добавлен, а не все документы?
РЕДАКТИРОВАТЬ:
query = chatCollectionRef.whereEqualTo("receiverID", userID).whereEqualTo("senderID", targetID);
registration = query.addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
if (e != null) {
Log.w("ListenerError", "Listen Failed");
return;
}
for (QueryDocumentSnapshot doc : queryDocumentSnapshots) {
Log.d("ListenerLog", "New Document in Listener")
Item item= doc.toObject(Item.class);
itemList.add(item);
recyclerAdapter.notifyDataSetChanged();
}
}
}
Проблема в том, что когдадобавлен первый документ, мой прослушиватель, и в окне повторного просмотра показано это
А затем, когда я добавляю второй документ, слушатель получает все два из них, не только последний, но и мой recyclerView.выглядит так