问题标签 [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.

0 投票
2 回答
5948 浏览

android - 分页库的进度条和错误消息

分页库很棒。但我发现缺少这个功能:

  • 加载数据时调度视图。假设我正在扩展PageKeyedDataSource:调用时位于顶部loadInitial的视图,调用时位于列表底部的视图loadAftercallback调用时视图应该消失。
  • 出现错误时调度视图。
  • 滑动刷新

由于现在这是不可能的,有没有人知道使用 PagingLibrary 的方法?至少有一种方法可以在同一个列表中使用不同的视图

0 投票
5 回答
4307 浏览

android - 如何使用架构组件分页库在回收站视图上停止闪烁

我有一个类似聊天的活动,我正在使用带有 PagedListAdaper 的 RecyclerView 来加载一堆消息。我正在使用 PositionalDataSource 来加载数据。加载它自己工作正常,但是当我发送消息时,我使我的数据源无效并且列表被重新制作。我的问题是它这样做时会闪烁

这就是它的样子

我尝试添加 setHasStableIds(true) 并覆盖 getItemId 这将在一个简单的适配器上工作,但它似乎在这里不起作用。我似乎也不能只向 getCurrentList() 添加一个项目,因为它不受支持。另外,我没有使用数据库,只是向服务器发出请求。

所以我的问题是,除了使数据源无效之外,还有更好的方法吗?发送消息时有没有办法阻止列表闪烁?还是这个库不适合我的聊天活动?

编辑

我的差异回调

Edit2 我修好了

所以我设法通过使用 PagedListAdapterHelper 并在加载项目后设置它的列表来修复它:

0 投票
1 回答
1223 浏览

android - 使用android分页库使页面无效

我正在使用 alpha5 中的分页库。我的问题是,我想使用 android 分页库加载的列表经常被更改。就像每分钟多次一样。当我向下滚动并加载第 1、2、3 页(atm 我为此使用 PositionalDataSource)时,可能会发生第一页在向下滚动时无效。

尝试想象第 1 页由于某种原因无效,并且用户在第 5 页(与第 1 页不在同一屏幕上),现在他再次向上滚动到第 1 页。分页库正在从缓存中获取数据,因此存在旧数据,这很糟糕。

有没有办法使页面无效?我希望当我向上滚动时,会有一个(可选的)调用(可能在 DataSource 本身中)询问来自缓存的数据是否仍然有效。

如果是这样,一切都很好,如果不是,请使用方法重新加载您的源(数据库,网络,等等)

0 投票
4 回答
4643 浏览

android - 分页库没有向我的 PagedListAdapter 发送任何数据

我有一个带有使用 Room 访问的 SQLite 数据库的 Android 待办事项列表应用程序。然后我想在导航抽屉中列出可用列表。所以我使用了分页库。现在 RecyclerView 是空的,我不知道为什么。顺便说一句:我的列表都不起作用。我是初学者,所以我坚持官方教程。我已经发现,它们是错误的,ViewModel需要一个空的构造函数。现在情况如下:设置适配器的方法被成功调用(8),ViewModel被创建(7)Adapter被创建(1),setList()方法被调用(9),但没有Holder被创建(4),不调用onCreateViewHolderonBindViewHolder调用 (2,3),不DiffCalback调用方法 (5,6),只显示一个空的 Recycler 视图。这PagedList<SQLList>包含正确的信息,但没有信息被传递给适配器。有人知道为什么吗?//对不起我的英语不好。

适配器类:

查看型号:

片段的一部分RecyclerView被放置在:

0 投票
1 回答
429 浏览

android - 分页库BoundaryCallback方法onItemAtFrontLoaded()的目的是什么?

我刚刚查看了分页库,发现BoundaryCallback有三个方法。对于名为onItemAtFrontLoaded()的方法之一,文档说

我不太确定何时调用此方法,有人可以给我一个详细的例子吗?

0 投票
3 回答
17014 浏览

android - 分页库过滤器/搜索

我正在使用此处描述的 Android 分页库: https ://developer.android.com/topic/libraries/architecture/paging.html

但我也有一个 EditText 用于按名称搜索用户。

如何过滤 Paging 库中的结果以仅显示匹配的用户?

0 投票
2 回答
312 浏览

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?

0 投票
3 回答
2961 浏览

android - Android Google Paging 库无法正常工作

我正在尝试在我的项目中实现谷歌的分页库。所有的东西都已经编码并且网络调用在loadInitial () 中工作,但它永远不会进入loadAfter ()。由于代码结构非常复杂,我不直接在这里发布代码。

这是存储库:

https://github.com/raghavsatyadev/PagingDemo

文件链接:https ://github.com/raghavsatyadev/PagingDemo/blob/master/app/src/main/java/com/rocky/invmx/modules/order/OrdersActivity.java

0 投票
1 回答
2679 浏览

android - LiveData 无法通知它的观察者 PagedList 对象的变化

我编写了这个简单的示例来测试分页库LiveData<PagedList<Integer>>并使用 LiveData 观察对 PagedList 的更改,但它仅在创建对象时通知观察者一次。我使用活动中的按钮加载更多数据,并且 pagedList 对象已正确加载,但未观察到更改。这是我的活动的代码:

这是我的 ViewModel 类:

这是我的数据源,为简单起见仅生成随机整数:

这是在我的构建 gradle 中:

我多次按下按钮,但只观察到一次(创建时间)。

0 投票
1 回答
4079 浏览

android - 如何转换 PagedList 中的项目?(Android Arch 组件分页库)

Android Architecture Component 现在引入了Paging Library,非常棒。

根据官方的演示,DataSource.Factory现在支持mapmapByPage方法,这意味着我们可以将项目转换为一个DataSource

但是DataSource并且DataSource.Factory应该在模型层,而不是 Presentor/View 层。然而,有很多时候我们想要在我们的 Adapter 中转换数据(对于 RecyclerView 或 ListView),很明显,这是 Presentor/View 层的逻辑。到目前为止,一个 Adapter 拥有一个 的实例PagedList,但PageList不能支持这些操作,这有点尴尬。此外,有时我们还想向/从PagedList.

所以这是一个功能请求:

  1. 支持项目转换PagedList

  2. 支持项目添加/删除到/从PagedList

欢迎任何讨论。