1

使分页库检索到的数据无效的最简单方法是什么?我需要在注销时这样做。我有一个 DataSource.Factory 和一个扩展 PageKeyedDataSource 的 DataSource。在 DataSource 构造函数上调用 invalidate() 是个好主意吗?它会按预期工作吗?

4

1 回答 1

0

假设您将分页库与其他架构组件一起使用,例如LiveDataLifecycleOwner并且您的屏幕在注销时关闭,DataSource则会自动失效。

如果不这样做,您仍然可以手动使其无效,调用

yourDataSource.invalidate();

失效后,您将无法继续使用DataSource. 但是,来自适配器的视图不会自动分离,因此如果您想清除它们,您应该从您DataSource.Factory的 aDataSource中提供不返回任何数据的视图,或者RecyclerView.Adapter手动清除它们。

于 2019-01-11T18:02:13.947 回答