我正在尝试在我的项目中实现谷歌的分页库。所有的东西都已经编码并且网络调用在loadInitial () 中工作,但它永远不会进入loadAfter ()。由于代码结构非常复杂,我不直接在这里发布代码。
这是存储库:
我正在尝试在我的项目中实现谷歌的分页库。所有的东西都已经编码并且网络调用在loadInitial () 中工作,但它永远不会进入loadAfter ()。由于代码结构非常复杂,我不直接在这里发布代码。
这是存储库:
这不是给定问题的答案,而是非常相似的问题。
正在onBindViewHolder
使用getItem(int index)
而不是从currentList
. 正如公认的答案所说-需要调用getItem
才能触发loadAfter
。DataSource
您getItem(int index)
在类中覆盖方法GenPagingRecyclerAdapter.java
而不调用super.getItem(index)
. 如果您查看PagedListAdapter.java
并深入研究方法调用,您会发现该方法在内部调用了该loadAfter
方法。所以首先解决你的问题是getItem(int index)
从GenPagingRecyclerAdapter.java
类中删除。因为你没有在其中做任何事情,如果你真的想覆盖getItem(int index)
然后调用super.getItem(int index)
at start。
调用loadInitial()后未调用loadAdapter( )的问题的解决方案是REMOVE
override fun getItem(position: Int): YourDataModel {
return super.getItem(position)
}
来自您当前正在扩展PagedListAdapter的RecyclerViewAdapter。