Did*_*nel 2 android listener firebase google-cloud-firestore
Firestore 实时更新文档在这里
这是您可以在文档中找到的评论。
重要提示:第一个查询快照包含与查询匹配的所有现有文档的添加事件。这是因为您正在获得一组更改,这些更改使您的查询快照与查询的初始状态保持同步。例如,这允许您根据在第一个查询快照中收到的更改直接填充 UI,而无需添加用于处理初始状态的特殊逻辑。
我理解它是如何有用的,但在某些情况下它只会困扰我,我想知道是否有任何方法可以防止第一个查询快照触发侦听器。
AtomicBoolean isFirstListener = new AtomicBoolean(true);
commentListener = getLectureCommentsCollecReference(courseId, lectureId)
.addSnapshotListener((queryDocumentSnapshots, e) -> {
if (isFirstListener.get()) {
isFirstListener.set(false);
//TODO Handle the entire list.
return;
}
for (DocumentChange dc : queryDocumentSnapshots.getDocumentChanges()) {
switch (dc.getType()) {
case ADDED:
sendCommentAddedEvent(DataParser.parseComment(dc));
case MODIFIED:
sendCommentUpdatedEvent(DataParser.parseComment(dc));
break;
}
}
});
Run Code Online (Sandbox Code Playgroud)
这是一种方法。我在评论功能中使用它来收听添加的新评论以及评论是否被修改。
| 归档时间: |
|
| 查看次数: |
975 次 |
| 最近记录: |