问题标签 [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 投票
0 回答
1064 浏览

android - PageList 中的 BoundaryCallback 永远不会被调用

我正在使用Paging Librarywith PagedListAdapter,我正在使用BoundaryCallbackinPagedList来了解用户何时到达列表末尾。问题是我的回调中的方法永远不会被调用。

这是我的数据源代码:

我的边界回调代码是

这是我的活动代码

我的适配器代码看起来像这样

这是我的实现getProperties(),它将返回一些模拟数据。稍后,我将更改它以从服务器加载数据。

请注意,我的代码工作正常,并且我的适配器在结束时请求更多数据,当 PagedList 结束时我只是没有得到回调。

0 投票
3 回答
4063 浏览

android - PageKeyedDataSource loadAfter 没有起火

在我的片段中,我集成了 android jetpack 分页库和我使用PageKeyedDataSource和改造 API 回调的数据源。

代码作为例外运行并将数据加载到recyclerview但是在我滚动到底部之后,它应该通过在数据源类中触发loadAfter函数来加载更多数据,但它没有

我也切换到ItemKeyedDataSource仍然无法执行

是我的代码错误还是插件有问题!但是在我在 GitHub 中找到的一些演示应用程序中,我遵循了那里的代码。如果有人遇到此问题并已解决,请告诉我编辑:使用AndroidX

视图模型

页面列表适配器

分段:

XML

0 投票
1 回答
1256 浏览

android - 为 LiveData observable 上的 Retrofit 错误实现重试按钮

学习者在这里,我正在尝试添加一个重试按钮,以便在改造Callback#onFailure方法出现错误时添加。

在某种程度上遵循 Android Architecture Guide,我可以调用、保存数据并将其显示在 RecyclerView 上。这是我到目前为止所做的一般流程:

PagedList.BoundaryCallback我得到响应并保存它。在这里,我还创建了一个 LiveData NetworkState,我正在MainActivity通过ViewModel课堂观察。


然后在 UI 上:

我在这里迷路了,如果由于某种原因出现错误,我不知道如何实现重试按钮来进行最后一次调用。你能帮我弄清楚重试按钮实际上应该做什么来获得回调吗?

谢谢你。

PS 我是 Java 新手,到目前为止 Kotlin 已经不在我的联盟中,所以无法弄清楚 Google 示例项目是如何实现重试方法的,而且我的示例项目也在GitHub/DemoBlogApp 上供任何参考。任何帮助表示赞赏。

0 投票
1 回答
4248 浏览

android - 分页库 - 无法停止加载项目

我正在使用分页库直接从网络加载日期。我是否必须实现逻辑来停止获取数据?就我而言,这可能是收到的项目数低于页面大小。目前,当我到达列表末尾时,lib 会不断加载新页面。

0 投票
0 回答
58 浏览

android-architecture-components - 需要 AndroidArchitecture 分页库在向其发送空列表后继续获取页面

我正在通过 PageKeyedDataSource 成功使用 AndroidArchitecture Paging Library 1.0.0。但是,即使后续页面有项目,我的服务有时也会返回一个空列表。在 loadInitial 方法中,我调用:

callback.onResult(emptyList, nextPageToLoad)

因为,我给它传递了一个空列表,它认为没有更多的页面要加载并且不会调用 loadAfter。但是,我需要它来继续加载更多页面。我可以检测到空列表条件并将其传递给带有假项目的非空列表。但是,我需要破解我的适配器来过滤掉那些假货。有没有更简单的方法让分页库在发送一个空列表后继续获取页面?仅供参考:在这种情况下,我的 nextPageToLoad 是 2。另外,我尝试过 Paging Lib 1.0.1 并没有什么不同。

0 投票
1 回答
1088 浏览

android-viewmodel - 从 Room 观察 LiveData 会导致 PagedListAdapter 刷新,ViewModel 也会在方向更改时刷新数据

我正在构建一个应用程序,它使用 ArticleBoundaryCallback 来启动对 API 的调用,并将响应存储在 Room 中。我还在使用 LiveData 收听该表,并在 PagedListAdapter 中显示项目。

问题是每次在 Room 的(Article)表中插入新数据时,整个列表都会刷新。

此外,在配置更改时,似乎再次获取了整个数据(ViewModel 不保留它,RecyclerView 被重新创建)。

在每次插入时,RecyclerView 都会跳转(如果插入了新数据,则跳转几行,或者如果它用旧数据替换新数据,则在开头)。

整个代码在这个GitHub repo中。

我的课程是:

文章:

文章 DAO:

LocalCache(从 Room 存储/检索)

应用程序库

视图模型

活动 - 从 VM 观察

适配器

差异

我真的需要解决这个问题。谢谢!

0 投票
4 回答
7666 浏览

java - 使用分页库时,观察者显示列表大小为零

我正在尝试将分页库与较新版本一起使用。我正在使用 volley 从网络中获取我的数据。每当我从网络获取数据时,都会获取数据,但是当调用到观察者时,显示的列表大小为零。我不确定我做错了什么。

我是android新手,所以对分页不太了解。自从我尝试以来已经有好几天了,但仍然无法弄清楚。

我的gradle如下

}

我的 MainActivity 看起来像:

FilterModel 类如下:

MyProvider 类是:

MyDataSource 如下:

我的适配器类

我的 POJO(模型类如下)

FilterPatientList 类:

患者类别:

当我在数据源类(MyPatientData)中从网络接收数据时,调用会自动转到主要活动中的观察者。那里显示的列表大小为零,而从网络获取的列表大小为 10 个项目。

你能帮帮我吗?我真的被困了好几天,不知道下一步该做什么。提前非常感谢。:)

0 投票
1 回答
516 浏览

android-source - 如何在 Android.mk 中添加 Room、Lifecycle、Paging 库(AOSP 构建)

我在 android studio 中创建了一个带有 Room、Lifecycle、Paging 库的应用程序,它运行良好。然后我尝试在 AOSP 中构建相同的应用程序,但我不能包含 Room、Lifecycle、Paging 库。

我在 frameworks/support/ 中找到了所有这些库。但我不知道如何添加这些库。

关于如何做的任何线索?

0 投票
1 回答
1117 浏览

android-jetpack - onItemAtEndLoaded 在 onZeroItemsLoaded 之后立即调用

我有一个问题,即在之后立即onItemAtEndLoaded调用该方法,该行为应该仅在我完成滚动时才出现。你对正在发生的事情有任何想法吗?我可以提供我的 GitHub 存储库。 onZeroItemsLoaded

0 投票
1 回答
950 浏览

android - 我的 onItemAtEndLoaded 在 onZeroItemsLoaded 之后被触发

我有这种奇怪的行为,其中 onItemAtEndLoaded 在 onZeroItemsLoaded 之后被触发,因此回收器视图继续加载并且不会停止。我在 GitHub 上有这个项目,有人可以帮帮我吗,我花了几天时间。有人可以看看吗?

这是我的 BoundaryCall 课程

这是我的基于分页的适配器

这是我的适配器和 ViewHolder