Android Google 分页库不工作

Android Google Paging library not working

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

这是存储库:

https://github.com/raghavsatyadev/PagingDemo

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

您正在覆盖 GenPagingRecyclerAdapter.java class 中的 getItem(int index) 方法,而没有调用 super.getItem(index)。如果您查看 PagedListAdapter.java 并深入研究方法调用,您会发现该方法在内部调用了 loadAfter 方法。因此,首先解决您问题的方法是从 GenPagingRecyclerAdapter.java class 中删除 getItem(int index)。因为你没有在其中做任何事情,如果你真的想覆盖 getItem(int index) 然后在开始时调用 super.getItem(int index)

这不是给定问题的答案,而是非常相似的问题。

onBindViewHolder 中使用 getItem(int index) 而不是从 currentList 获取项目。正如接受的答案所说 - 需要调用 getItem 来触发 DataSource.

中的 loadAfter

loadAdapter()在调用loadInitial()后没有被调用的解决方法是删除

override fun getItem(position: Int): YourDataModel {
    return super.getItem(position)
}

来自你的 RecyclerViewAdapter 当前 扩展 PagedListAdapter.