我正在使用FirestorePagingAdapter
用Cloud Firestore的数据填充RecylerView
。我需要根据本地定义的条件(在运行应用程序的设备中,而不是Cloud Firestore中)定义一些元素。由于这种限制,我无法将查询更新到Firestore进行数据过滤。
经过this和official Documentation for PagedListAdapter,看来Room是解决问题的方法。
为简单起见,让我们假设Cloud Firestore有一个名为“用户”的集合,其中包含具有自动生成的名称的各种文档,并且每个文档都有“ userID”和“ timestamp”字段。我已经定义了EntityClass
,Dao
接口和Database
,就像这种情况的文档一样。 Dao已定义了必需的SQL查询和删除方法,但我不知道在哪里实现。
问题是我无法定义DiffUtil.ItemCallbacks<EntityClass>
,因为FirestorePagingAdapter
中没有构造函数,该构造函数包含以该ItemCallback
作为参数的构造函数。此外,我无法理解如何在此处链接ViewModel
。
如何将FirestorePagingAdapter
与Room连接起来,以防止某些元素添加到RecyclerView
中?