【发布时间】:2026-02-05 06:35:01
【问题描述】:
我正在调查Android Paging,似乎有PagedList 的具体实现为ContiguousPagedList。 这个类有什么用?寻找它的用途/存在的原因,但没有找到。谁能解释为什么这个ContiguousPagedList 存在?
【问题讨论】:
标签: android kotlin android-jetpack android-paging android-pagedlistview
我正在调查Android Paging,似乎有PagedList 的具体实现为ContiguousPagedList。 这个类有什么用?寻找它的用途/存在的原因,但没有找到。谁能解释为什么这个ContiguousPagedList 存在?
【问题讨论】:
标签: android kotlin android-jetpack android-paging android-pagedlistview
ContiguousDataSource 用于逐个加载数据序列。我们的大部分用例都属于这一类。
如您所述,PageKeyedDataSource 和 ItemKeyedDataSource 是 ContiguousDataSource 的实现。
ItemKeyedDataSource : 用于分页键控内容的增量数据加载器,其中加载的内容使用以前加载的项目作为未来加载的输入。
PageKeyedDataSource: 页面键控内容的增量数据加载器,其中请求将返回下一页/上一页的键。
在这两种情况下,您都需要使用页面 N - 1 中的数据来加载页面 N。
非连续数据源: 直接跳到数据集中的特定部分并加载相关内容。 例如:联系人应用程序,您可以在其中从“A”跳到“H”。
Android Paging 也支持此功能,PositionalDataSource 的 DataSource 实现。 这有助于加载固定大小、可计数的数据,支持在随机页面位置加载固定大小。
【讨论】: