【问题标题】:Paging Library Invalidate Data Source分页库使数据源无效
【发布时间】:2018-12-10 16:04:16
【问题描述】:
使分页库检索到的数据无效的最简单方法是什么?
我需要在注销时这样做。
我有一个 DataSource.Factory 和一个扩展 PageKeyedDataSource 的 DataSource。在 DataSource 构造函数上调用 invalidate() 是个好主意吗?它会按预期工作吗?
【问题讨论】:
标签:
android
datasource
invalidation
android-paging
android-paging-library
【解决方案1】:
假设您将分页库与其他架构组件一起使用,例如LiveData 和LifecycleOwner,并且您的屏幕在注销时关闭,DataSource 将自动失效。
如果你不这样做,你仍然可以手动使其无效,调用
yourDataSource.invalidate();
失效后,您将无法继续使用DataSource。但是,适配器的视图不会自动分离,因此如果您想清除它们,您应该从您的DataSource.Factory 提供一个不会返回任何数据的DataSource,或者手动清除RecyclerView.Adapter。