我正在尝试使用Recycler View
并显示列表来创建列表视图。可以说我要显示的内容就像一个典型的聊天屏幕 - 图像、消息、sender_name 等。
所以所有这些数据都存储在 Firebase 实时数据库中。我也在使用ViewModel
并且想使用DiffUtil
以提高效率 - 因为可以删除、编辑、加星标、添加新消息等。由于DiffUtil
,我使用的是ListAdapter
.
我面临的问题是ListAdapter
需要 aList
并且我使用ChildEventListener
.
我现在如何使用 Firebase 观察更改LiveData
,然后更新我的列表,以便我可以传回我的DiffUtil
? 因此,如果我添加一条新消息,我希望将其添加到我的消息中,RecyclerView
并且我希望使用它来执行此操作,DiffUtil
因为列表也可以更新。
我通过研究发现,我可能需要Room
为此目的使用并观察查询的变化 - 所以观察类似于getAllMessages()
返回完整列表的方法,然后我可以使用它传递到我的DiffUtil
. 这对我来说听起来有点矫枉过正—— Room
.
关于如何实现我的需求的任何指示或建议?