什么是连续分页列表?

What is ContiguousPagedList?

我正在调查 Android Paging,似乎有 PagedList 的具体实现 ContiguousPagedList这个 class 有什么用? 寻找它的用途/存在的原因,但没有找到。谁能解释为什么这个 ContiguousPagedList 存在?

ContiguousDataSource 当要一个接一个地加载数据序列时使用。我们的大部分用例都将包含在该类别中。

如您所述,PageKeyedDataSource 和 ItemKeyedDataSource 是 ContiguousDataSource 的实现。

ItemKeyedDataSource : 用于分页键控内容的增量数据加载器,其中加载的内容使用以前加载的项目作为未来加载的输入。

PageKeyedDataSource: page-keyed 内容的增量数据加载器,其中请求将为 next/previous 页面提供 return 键。

在这两种情况下,您都需要使用第 N - 1 页的数据来加载第 N 页。

Non-ContiguousDataSource: 直接跳到数据集中的特定部分并加载相关内容。 例如: 从“A”跳到“H”的通讯录应用。

Android Paging 也支持此功能,使用 PositionalDataSource 的 DataSource 实现。 这有助于加载 fixed-size,可计数的数据,支持 fixed-size 在随机页面位置加载。