我正在尝试在我的项目中实现谷歌的分页库。所有的东西都已经编码并且网络调用在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。