在刷新调用之间清除“PagingDataAdapter”

我正在使用 Paging 3PagingDataAdapter根据给定的查询搜索数据库。每次提交新查询时,我都会调用refresh()适配器上的方法。问题是在加载新数据之前,旧数据仍然存在。

有没有办法从列表中删除所有项目,以便在加载过程中不存在任何项目?此外,我使用ConcatAdapter来附加页眉和页脚以指示加载,因此我的目标是仅在加载数据/提交新查询时显示进度指示器。

更新:

我设法让它工作的唯一方法是调用,adapter.submitData(PagingData.empty())然后是pagingSource.invalidate(). 我不喜欢这个解决方案,因为访问invalidate()存储库层中可用的方法并不容易,我不得不在ViewModel. 有没有更优雅的方法来实现这一目标?我不认为这是一种方法,因为在加载期间刷新列表和删除项目的用例非常普遍,我认为在 Paging 3 库开发过程中已将其考虑在内。

以上是在刷新调用之间清除“PagingDataAdapter”的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>