我正在使用分页库,当我直接从Dao返回DataSource.Factory<Int, Data>
然后像这样设置我的分页列表时,一切工作都很好
pagedList = LivePagedListBuilder(dao().getAllData(), config).build()
当我单击列表项时,它会更改,更新会议室数据库,并通过分页自动更新UI。但是我需要使用自定义数据源。所以我创建了一个,现在我要像这样设置页面列表
pagedList = LivePagedListBuilder(customDatasourceFactory, config).build()
。
问题在于,现在当我更新房间表中的一行时,UI不会自动更新。更改数据集时,我也在使用invalidate()
。但是在这种情况下,当我只想更新一个项目时,就无法使用它,因为我的位置数据源会加载第一页,而当我位于列表的中间时,更改列表项会跳到顶部。
因此,基本上我想要实现与从Dao直接返回Datasource Factory时相同的行为,但是现在有了我自己的数据源。