问题标签 [android-paging-3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 在用户使用 Paging3 滚动时刷新数据 - RemoteMediator
如果来自服务器的缓存数据有任何更改,我想在用户滚动并更新本地数据库(房间)时刷新后台的每个页面。我曾尝试使用LoadStateListener
来监听附加事件,然后调用PagingAdapter.refresh()
,但这会导致RecyclerView
非常故障。请问有没有更好的方法来做到这一点?
android - 如何使用 Kotlin 从 Paging 3 Android 获取总项目以实现每个项目的 onclicklistener?
我在这里关注这篇文章。一切运行良好,但现在我想为每个项目实现 onclicklistener。
这是我的代码:
SongViewModelAdapter.kt
HomeFragment.kt
我目前正在使用 FirestorePagingAdapter,它运行良好。对于那些在第 3 页有经验的人,您将如何传递总项目以实现每个项目的点击侦听器。看到类似的问题,但从来没有一个明确的解决方案。挠了一天的头。您的帮助将不胜感激。
编辑 1:添加 HomeFragment.kt
编辑 2:更新了用户建议。点击还是不行。我需要添加空检查。
android - ConcatAdapter 内部的 Paging3 Library 的 PagingDataAdapter 加载所有页面而不滚动
我有 PagingDataAdapter,它包含在 ConcatAdapter 内的 GridAdapter 中。当我收集这样的数据时:
分页库开始按顺序加载所有页面,无需任何滚动。
postsAdapter 是一个带有 GridLayoutManager 的适配器,它是 PagingDataAdapter 的一个包装
viewModel 中的 setPostState 函数:
GridAdapter 中的 notifyItems 函数:
我怀疑 concat 适配器为我的 GridAdapter 提供了无限的高度,它开始加载所有内容,就好像我将 recyclerView 放在 nestedScrollView 中一样
android - Android Paging 3 库,分组项目
我们正在开发一个聊天应用程序。如果消息包含图像,并且它们一个接一个地出现,我们在适配器中将这些图像分组到一个消息中。
问题 1
在数据库和 API 的其余部分中,我们分别拥有这些消息,但在适配器中,我们将它们分组以作为一条带有小图像图标的大消息显示给用户。
我们希望实现一个分页库,以便可以滚动到历史记录中的任何消息。目前,我们正在使用 a RemoteMediator<Int, Message>
,它向我们的服务器发出请求并获取消息。为了存储我们正在使用的这些消息Room
,它返回PagingSource<Int, Message>
. 显示我们正在使用的消息PagingDataAdapter
一切正常,问题是我们如何在 Paging 3 中实现这种分组图像逻辑?我们可以在哪些步骤以及何时进行此更改并将消息组合在一起?
示例:
分组后,我们应该收到
问题2
根据消息是什么before
,after
我们会以不同的方式显示消息,例如,我们仅在第一条消息上显示配置文件图标,来自同一用户的所有其他消息显示时没有配置文件图标。
我们可以更改我们的数据,PagingData.map{}
但我们没有关于之前和之后项目的任何信息。这怎么可能实现?
android - 页脚不显示与第 3 页
我正在关注 Paging 3 的 Codelab。
分页工作正常,但尝试添加页脚似乎不起作用。
LoadStateAdapter
我的代码在使用方面与 Codelab 完全一样
这就是我添加页脚的方式
handlePagingState
只是跟随状态并将其绑定到Page状态(Loading,Error,Empty等)。无论如何,删除它并没有改变。
ListLoadStateAdapter.onCreateViewHolder()
甚至没有被调用, . 的构造函数也没有ListLoadStateViewHolder
。
我究竟做错了什么?有什么我错过的吗?或者也许是某个地方的错误?
android-paging - 有没有办法转换列表到 PagedData而后备分页源数据不使用房间数据库
- 我确实有一个分页数据源,它
PagedData<T>
在从 SQLite 初始加载后返回与 pagedAdapter 一起显示的数据。在一些服务器事务之后,我收到一个列表,List<T>
在转换和缓存之后需要显示它。 - 我知道使用 Room db 会很容易,但现在已经不在讨论范围内了。如何更新初始分页列表并创建一个新的 pagedList,然后将其推送到适配器。
- 尝试在新服务器列表上使用映射转换为 PagingDataObject 但据我所知这是不可能的。
list.map { item -> {PagingData<item>}
android - 快速插入数据时,Android Paging 3 无法立即更新
当我将多个数据一一插入到 Room 中时(而不是批量插入,因为它是一个聊天应用程序),但 Paging 3 无法立即更新列表。插入数据后,如何立即更新列表?还是 Paging 3 + Room 不适合聊天应用?谢谢!
android - 如何在 Android 中使用 Paging 3 库观察 Room 中更改的项目
我有一个使用加载的数据列表PagingSource
。
这是我在 DAO 中的代码:
我通过以下方式获取分页数据Flow
:
我有另一个函数正在更新本地数据库中的项目:
调用此函数后,列表中的整个数据将从头开始加载。
有没有办法使用分页库只获取更改的数据?
android - 如何在不刷新整个数据集的情况下对分页数据(分页 3)执行 CRUD 操作?
我的 Viewmodel 中有一个缓存的分页数据流。在我的回收站视图中更新任何项目时,如何在分页数据上执行过滤器、映射等转换?
我不想在每次更新时都刷新数据。
我的第二个问题是,即使我更新了整个数据,我也看到 diff util 不是从第 2 页开始调用的。我在这里做错什么了吗?
android - 是否有任何示例来测试返回 Flow 的函数>?
我在一个名为的存储库类中有一个函数getAll()
。我的问题是,我如何测试这个功能?这是函数内部的代码getAll()
。
这是 MoviesPagingSource 类中的内容。
PagingData
是 Paging v3 android 库中的一个类。https://developer.android.com/topic/libraries/architecture/paging/v3-overview
这是我迄今为止尝试过的单元测试:
结果是