我正在尝试在我的项目中实施Google的分页库。所有内容都已编码,网络调用正在 loadInitial ()但它永远不会进入 loadAfter ()。由于代码结构非常复杂,我不会直接在这里发布代码。
以下是存储库:
答案 0 :(得分:5)
您在getItem(int index)
课程中覆盖了GenPagingRecyclerAdapter.java
方法而未调用super.getItem(index)
。如果查看PagedListAdapter.java
并深入研究方法调用,您将看到此方法在内部调用loadAfter
方法。首先,您的问题的解决方案是从getItem(int index)
类中删除GenPagingRecyclerAdapter.java
。因为您没有在其中执行任何操作,并且如果您确实要覆盖getItem(int index)
,请在开始时调用super.getItem(int index)
。
答案 1 :(得分:4)
这不是给定问题的答案,但实际上是类似的问题。
在onBindViewHolder
中使用getItem(int index)
而不是从currentList
获取项目。如已接受的答案所说-需要调用getItem
来触发loadAfter
中的DataSource
。
答案 2 :(得分:0)
调用 loadInitial()后不调用 loadAdapter()的问题的解决方法是删除
override fun getItem(position: Int): YourDataModel {
return super.getItem(position)
}
由您 RecyclerViewAdapter (正在当前扩展 PagedListAdapter )
。