我正在尝试在recyclerView中实现分页,并且我希望使用之前的数据集附加新API命中的响应。 我该怎么办? 我看到的所有答案都清除了之前的ArrayList,然后将新数据添加到它。但我想保留旧数据。
滚动我做了这个:
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener()
{
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy)
{
if(dy > 0) //check for scroll down
{
visibleItemCount = mLayoutManager.getChildCount();
totalItemCount = mLayoutManager.getItemCount();
pastVisiblesItems =((LinearLayoutManager)recyclerView.getLayoutManager()).findFirstVisibleItemPosition();
if (loading)
{
if ( (visibleItemCount + pastVisiblesItems) >= totalItemCount)
{
++PAGE_NUMBER;
loading = false;
getListViaDistance(latitude, longtitude,PAGE_NUMBER);
vetAdapter.notifyDataSetChanged();
}
}
}
}
});
答案 0 :(得分:2)
获得新的记录列表后,将它们添加到 arrayList ,您已将其传递给 recycleview adapter 并调用 notifyDataSetChange 在适配器对象上强> 假设arrayList1是您传递到适配器的arrayList。现在,当您第二次获得项目时,您创建了一个新的arrayList,表示arrayList2。之后就这样做了
arrayList1.addAll(arrayList2);
adapter.notifyDataSetChange();