如何在实现分页时附加在RecyclerView的先前数据集中的新API命中的响应

时间:2017-03-15 11:37:50

标签: android pagination android-recyclerview

我正在尝试在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();
                        }
                    }
                }
            }
        });

1 个答案:

答案 0 :(得分:2)

获得新的记录列表后,将它们添加到 arrayList ,您已将其传递给 recycleview adapter 并调用 notifyDataSetChange 适配器对象上强> 假设arrayList1是您传递到适配器的arrayList。现在,当您第二次获得项目时,您创建了一个新的arrayList,表示arrayList2。之后就这样做了

arrayList1.addAll(arrayList2);
adapter.notifyDataSetChange();