我已经实现了 RecyclerView,甚至添加了一个 onscrolllistener 来支持无限滚动,但现在我遇到了一个简单的问题:如何将新加载的数据添加到现有数据集?
我目前的方法:我创建一个新数组,其长度为现有数据集的长度 + 新加载数据的长度。我 System.arraycopy
我现有的数据集,并使用 for 循环添加新内容。
这行得通,但列表总是重置(滚动回顶部),我认为我添加额外内容的方式过于复杂/错误,尽管我看过的教程似乎忽略了这个“细节”。
更新:我目前在加载数据后在 UI-Thead 上调用“scrollToPosition”,但我怀疑这是正确的做法还是我错了?
最佳答案
您不应该向数据集添加内容,您迟早会耗尽内存。您可以做的是在适配器内的 getItemCount
中返回一个大数字(我使用了 Short.MAX_VALUE
)项目,并在请求位置 View 的方法中返回您应该做的 位置 % list.size();
这不是一个真正无限的 RecyclerView
这种方式,但已经足够好了。我明天会粘贴一些代码,我现在这里没有:/
关于Android RecyclerView 无限滚动 : how to add more items to dataset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30219776/