问题标签 [android-paging]
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 - Recycler View 将项目始终放在顶部
我有一个问题,每次系统从服务更新时,新项目都会放在回收商所在的项目之前。这意味着它将始终处于“结束”状态。我正在使用 PagedList.BoundaryCallback 库,我不知道如何解决这个问题。
这是我的 RepoBoundaryCalback
这是我的 PostDao,因为我认为物品的订单应该修复它
这是我的存储库
这是我的视图模型
这是我的片段
当有人遇到这个问题时,我们可以帮助我吗?
android - 恢复活动时恢复 PagedListAdapter 位置
我一直在尝试PagedListAdapter
但无法弄清楚如何正确恢复适配器位置。
最后一次尝试是lastKey
从当前列表中保存。
但是当恢复我的适配器并传递lastKey
给PagedListBuilder
我上次看到的内容和显示的内容时,会有很大的不同。
如果我在恢复时位于第 #4 页的中间- 适配器将位于第 #4 页开头的位置。理想情况下,适配器应恢复到与上次看到的完全相同的位置。
保存 LayoutManager 状态的各种尝试
然后恢复它
惨败。欢迎任何建议:)
android - 如何在Android的PagedList中将按钮单击事件传递给Activity?
我正在尝试采用PagedList
我的应用程序。我想要的功能之一是能够处理列表项中的按钮单击事件。
我正在考虑利用ViewModel
来监听点击事件,并取自示例https://medium.com/@star_zero/singleliveevent-livedata-with-multi-observers-384e17c60a16,我成功获得了点击事件。
所以我有,
正如上面的评论,当新项目添加到列表中时,我并不总是收到通知。我想我只从那里得到过loadInitial
一次loadAfter
。链接 ref 后,PagedList
在不通知观察者的情况下处理更新列表本身。因此,我无法正确设置点击事件观察者。任何帮助,将不胜感激。被封了一个多星期。谢谢!
android - 如何从 Android 分页组件中的 PagedListAdapter 中删除项目
我使用 Paging with Retrofit 从 REST API 加载通知数据列表。
当我按下通知项的删除按钮时,我调用删除 API 将其删除。PagedListAdapter
删除 API 响应成功后删除它的正确方法是什么?PagedList
或PagedListAdapter
不支持按索引或对象删除项目。
我试图打电话DataSource.validate()
,但它从开始重新加载,而不是从当前页面。
android - android 架构组件 ViewModel & PageKeyedDataSource 问题
我想要什么:我想实现谷歌分页库。它加载了一些数据(比如说前 10 个)。当您向上滚动时,它会调用 API 并加载更多数据。
有什么问题:它正在加载所有数据而不是一些数据(比如说前 10 个)。为此,我使用了ViewModel和PageKeyedDataSource。
我尝试了什么:代码如下
InProgressFragment.java
SalesDashboardViewModel.java
SearchDataSource.java
申请人DataAdapter2.java
主要问题是 SearchDataSource 类的方法loadAfter永远不会被调用。
任何帮助将不胜感激。
编辑:添加了 logcat 的屏幕截图。这可能会有所帮助。
android - 如何在android中更新实时数据值
我在我的应用程序中使用 liveData。我做了一个数据库查询,它返回一个LiveData<PagedList<Contact>>
存储在数据库中的联系人。
我想在将其提供给观察者之前修改此实时数据。假设 LiveData 列表中有十个联系人,我想与另一个列表进行一些比较,并设置 LiveData 列表中的主要联系人。
完成此操作后,我想将其提供给观察者。
例如 -
遍历allContacts
andlist
并设置 中的哪些值allContacts
与 中的值匹配list
。无论哪个值allContacts
匹配,它们的isPrimary
属性都将设置为 true。
现在修改后allContacts
,我想将其提交给观察者,例如:
我尝试了 LiveData.transform,但无法正确使用它。谁能建议我如何使用转换方法或其他方式来实现它。
android - PagedList 获取新数据时收到通知
我遇到的问题与此处的问题相同: 未收到有关 PagedList 更新的通知
我所做的是为我的应用程序实现了分页库。我加载了一个数据列表,它可能非常大。Web 服务仅返回 20 个项目,并且使用密钥,您可以检索下一个 20 项,依此类推。现在这很好用,适配器/回收器视图显示前 20 个项目。一旦我向下滚动,就会加载新项目。问题是我需要知道何时加载新项目并需要对这些项目的引用。我需要将每个项目添加到列表顶部的地图视图中。如何通知我的分页列表中的更改?我尝试使用“addWeakCallback”,但我似乎不明白它是如何工作的。我希望每次加载数据时都会调用 ViewModel 上的观察者,但即使在加载数据之前也会触发我的观察者。观察者被一个空列表触发,我只是将该列表提交给我的 PagedListAdapter。有人可以澄清这一切吗?我可以对我的 pagedList 的观察者数据更改做些什么吗?
这是一些代码:
观察者
视图模型
数据源
在此先感谢您的帮助!
android - 如何在不知道列表总大小的情况下使用 PagedList 占位符
使用Android Architecture Components 分页库,我想在DataSource
加载已在视图中的新项目时呈现占位符视图。
根据文档,这需要一个可数的数据集。我正在使用DataSource
从无法提供项目总数的 API 获取项目的自定义项。但是,我仍然希望为当前正在加载的项目呈现占位符,即使当 API 返回的项目少于显示的占位符数量时这会导致闪烁。
有什么办法可以做到这一点?
android - 使用 Android 分页库处理错误
我正在尝试使用分页库制作一个简单的列表片段。文档说如果我想刷新整个列表,我应该使用invalidate
DataSource 中的方法。当我调用这个方法的时候,DataSource
会创建一个新的方法loadInitial
调用,但是如果遇到错误loadInitial
,比如我从网络加载远程数据,遇到网络错误是很常见的,那么我需要loadInitial
再次调用当我需要重试时。但是在我打电话之后invalidate
,我在列表中的所有旧数据都被清除了,因为分页库给了我一个新的空PagedList
。即使我等到新列表不为空,旧列表也无法加载下一页,因为它的 bean 已经无效。
如果我想让我的旧列表在无效DataSource
但遇到错误时保持工作,我该怎么办?
android - Android 房间数据库数据没有被插入?
我正在将数据插入从网络接收的房间数据库中。它没有显示任何错误,应用程序也没有崩溃,但屏幕为空,表为空一切正常,但是当我使用 Stetho 调试工具并查看feed 表时,没有插入任何内容,任何人都可以弄清楚并帮助我。还要看看 PageListAdapter 和 LivePageListBuilder 是否正确实现?
1. Room DB 数据未插入 2.分页实现
这就是道法
存储库类:
适配器和 ViewHolder:
}