Когда я добавляю SnapshotListener
к запросу в Firebase следующим образом:
EventListener<QuerySnapshot> initialQueryListener = new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
for (DocumentChange documentChange : queryDocumentSnapshots.getDocumentChanges()) {
switch (documentChange.getType()) {
case ADDED:
Message message = documentChange.getDocument().toObject(Message.class);
mMessages.add(message);
mAdapter.notifyDataSetChanged();
}
}
}
};
Код в случае ДОБАВЛЕНО вызывается для каждого документа, извлекаемого из Firestore, а не только для тех, которыедобавляются в коллекцию.Мне понадобилось много времени, чтобы понять это.Я хотел бы иметь отдельный SnapshotListeners
: один для начальных запрашиваемых сообщений, а другой только для новых.Это возможно?