首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android Paging 3-从PagingData<T>对象获取数据列表

Android Paging 3-从PagingData<T>对象获取数据列表
EN

Stack Overflow用户
提问于 2020-12-03 00:44:09
回答 1查看 5.6K关注 0票数 15

我正在使用新的jetpack Paging 3库。我有一个特定的用例。我想使用viewmodel在两个屏幕之间共享这些数据。

一个屏幕需要分页数据,对于第二个屏幕,我想要这些数据的简单列表(不是分页列表,我需要使用列表...)。我不想在PagingData的对象中列出。

有没有办法在没有PagingData对象的情况下获取列表?

正如您所看到的,没有变量来获取此数据。当创建flow时,我甚至在viewModel中尝试过它,但我还没有找到解决方案。

EN

Stack Overflow用户

发布于 2020-12-03 09:15:01

PagingData只是增量加载事件的无状态流,所以它不包含这种状态。

但是,PagingDataAdapter / Differ (以及类似的其他展示者端变体)已经需要保存数据,因此它们公开了诸如PagingDataAdapter.snapshot()之类的API,这些API可以为您提供当前的展示项列表。

请记住,呈现的数据是转换后的,可能不包括由于超过maxSize而丢弃的页面,也可能与fetcher竞争,因为在加载数据和在UI中显示数据之间需要一段时间。

这实际上取决于您对跟踪感兴趣的内容,但从抓取器方面(跟踪预转换),您可以从PagingSource返回的结果构建列表,也可以在PagingData上编写一个无操作的.map()操作符,该操作符将看到每一项(但不会给您提供有关订单的信息)。

不幸的是,Paging3还没有提供一个非ui收集器,可以为你构建这种状态(在测试中最有用),但希望这是我们未来可以研究的东西。

票数 12
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65112403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档