如何解决将 pagingData 3 流与另一个流相结合
我有一个 pagingData 流对象,我想将它与不同的融合位置流结合起来,以便将它与 pagingdata 列表的每个项目进行相应的处理。
val point : Flow<Point>
val pagingDate : Flow<PagingData>
我尝试使用 combine 和 combineTransform 但它似乎不起作用,因为当重点是更新应用程序崩溃并显示此与 pagingData 3 相关的错误消息无法发出两次
java.lang.IllegalStateException:尝试从
pageEventFlow,这是一个非法操作。你忘记打电话了吗
Flow
这里有哪些选项可以使用流数据转换分页数据项?
解决方法
只是在这里跟进,因为其他人可能会遇到这个问题,尽管 OP 还没有更新他们的答案。
这通常是由于使用了 .combine
或类似的运算符,这些运算符会重复来自 Flow 的最新发出的值,导致同一实例被使用两次。为了防止这种情况,您可以在 .cachedIn(scope)
之前调用 .combine()
以便多播 Flow,从而为您提供一个新的 PagingData 实例,其中预加载了缓存数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。