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