问题标签 [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 - 分页库的进度条和错误消息
分页库很棒。但我发现缺少这个功能:
- 加载数据时调度视图。假设我正在扩展
PageKeyedDataSource
:调用时位于顶部loadInitial
的视图,调用时位于列表底部的视图loadAfter
。callback
调用时视图应该消失。 - 出现错误时调度视图。
- 滑动刷新
由于现在这是不可能的,有没有人知道使用 PagingLibrary 的方法?至少有一种方法可以在同一个列表中使用不同的视图。
android - 如何使用架构组件分页库在回收站视图上停止闪烁
我有一个类似聊天的活动,我正在使用带有 PagedListAdaper 的 RecyclerView 来加载一堆消息。我正在使用 PositionalDataSource 来加载数据。加载它自己工作正常,但是当我发送消息时,我使我的数据源无效并且列表被重新制作。我的问题是它这样做时会闪烁:
我尝试添加 setHasStableIds(true) 并覆盖 getItemId 这将在一个简单的适配器上工作,但它似乎在这里不起作用。我似乎也不能只向 getCurrentList() 添加一个项目,因为它不受支持。另外,我没有使用数据库,只是向服务器发出请求。
所以我的问题是,除了使数据源无效之外,还有更好的方法吗?发送消息时有没有办法阻止列表闪烁?还是这个库不适合我的聊天活动?
编辑:
我的差异回调
Edit2 我修好了:
所以我设法通过使用 PagedListAdapterHelper 并在加载项目后设置它的列表来修复它:
android - 使用android分页库使页面无效
我正在使用 alpha5 中的分页库。我的问题是,我想使用 android 分页库加载的列表经常被更改。就像每分钟多次一样。当我向下滚动并加载第 1、2、3 页(atm 我为此使用 PositionalDataSource)时,可能会发生第一页在向下滚动时无效。
尝试想象第 1 页由于某种原因无效,并且用户在第 5 页(与第 1 页不在同一屏幕上),现在他再次向上滚动到第 1 页。分页库正在从缓存中获取数据,因此存在旧数据,这很糟糕。
有没有办法使页面无效?我希望当我向上滚动时,会有一个(可选的)调用(可能在 DataSource 本身中)询问来自缓存的数据是否仍然有效。
如果是这样,一切都很好,如果不是,请使用方法重新加载您的源(数据库,网络,等等)
android - 分页库没有向我的 PagedListAdapter 发送任何数据
我有一个带有使用 Room 访问的 SQLite 数据库的 Android 待办事项列表应用程序。然后我想在导航抽屉中列出可用列表。所以我使用了分页库。现在 RecyclerView 是空的,我不知道为什么。顺便说一句:我的列表都不起作用。我是初学者,所以我坚持官方教程。我已经发现,它们是错误的,ViewModel
需要一个空的构造函数。现在情况如下:设置适配器的方法被成功调用(8),ViewModel
被创建(7)Adapter
被创建(1),setList()
方法被调用(9),但没有Holder
被创建(4),不调用onCreateViewHolder
或onBindViewHolder
调用 (2,3),不DiffCalback
调用方法 (5,6),只显示一个空的 Recycler 视图。这PagedList<SQLList>
包含正确的信息,但没有信息被传递给适配器。有人知道为什么吗?//对不起我的英语不好。
适配器类:
查看型号:
片段的一部分RecyclerView
被放置在:
android - 分页库BoundaryCallback方法onItemAtFrontLoaded()的目的是什么?
我刚刚查看了分页库,发现BoundaryCallback有三个方法。对于名为onItemAtFrontLoaded()的方法之一,文档说
我不太确定何时调用此方法,有人可以给我一个详细的例子吗?
android - 分页库过滤器/搜索
我正在使用此处描述的 Android 分页库: https ://developer.android.com/topic/libraries/architecture/paging.html
但我也有一个 EditText 用于按名称搜索用户。
如何过滤 Paging 库中的结果以仅显示匹配的用户?
android - 重复条目:android/support/v7/recyclerview/extensions/ListAdapter.class
RecyclerView 27.1.0 和 android.arch.paging 1.0.0-alpha4-1 都包含 android/support/v7/recyclerview/extensions/ListAdapter.class
有没有人知道如何从分页组件中排除 ListAdapter.class?
android - Android Google Paging 库无法正常工作
我正在尝试在我的项目中实现谷歌的分页库。所有的东西都已经编码并且网络调用在loadInitial () 中工作,但它永远不会进入loadAfter ()。由于代码结构非常复杂,我不直接在这里发布代码。
这是存储库:
android - LiveData 无法通知它的观察者 PagedList 对象的变化
我编写了这个简单的示例来测试分页库LiveData<PagedList<Integer>>
并使用 LiveData 观察对 PagedList 的更改,但它仅在创建对象时通知观察者一次。我使用活动中的按钮加载更多数据,并且 pagedList 对象已正确加载,但未观察到更改。这是我的活动的代码:
这是我的 ViewModel 类:
这是我的数据源,为简单起见仅生成随机整数:
这是在我的构建 gradle 中:
我多次按下按钮,但只观察到一次(创建时间)。
android - 如何转换 PagedList 中的项目?(Android Arch 组件分页库)
Android Architecture Component 现在引入了Paging Library,非常棒。
根据官方的演示,DataSource.Factory
现在支持map
和mapByPage
方法,这意味着我们可以将项目转换为一个DataSource
。
但是DataSource
并且DataSource.Factory
应该在模型层,而不是 Presentor/View 层。然而,有很多时候我们想要在我们的 Adapter 中转换数据(对于 RecyclerView 或 ListView),很明显,这是 Presentor/View 层的逻辑。到目前为止,一个 Adapter 拥有一个 的实例PagedList
,但PageList
不能支持这些操作,这有点尴尬。此外,有时我们还想向/从PagedList
.
所以这是一个功能请求:
支持项目转换
PagedList
支持项目添加/删除到/从
PagedList
欢迎任何讨论。