【发布时间】:2018-10-13 23:50:35
【问题描述】:
根据来自 Google 的 Yigit Boyar 的回应,Live Data 并不是聊天应用程序的最佳用例,因为如果它们同时出现,它可能会丢失显示某些项目。他建议使用新的 Google 分页库。我一直在为我的收件箱(所有向用户发送消息的人)和内部聊天(消息本身)使用 ItemKeyedDataSource。问题如下:
1- 从聊天中,当用户向下滚动时,用户检索旧消息,这意味着这些消息的插入应该在适配器的位置 0,而不是像分页库那样按顺序插入。如何将插入项的位置交替为新消息按顺序排列,而在旧消息的位置为 0?
2- 从收件箱(向用户发送消息的人),我在这里再次使用 ItemKeyedDataSource,问题是我想维护来自存储库的多文档侦听器(我正在使用 Firebase Firestore),所以每次有新人与用户交谈时,我都可以检测到。问题是 callback.onResult 只被调用一次,并且在 Firebase 发送另一个用户时失败。如何维护可更新的列表?
【问题讨论】:
标签: android firebase pagination google-cloud-firestore android-paging