排序无限滚动列表中的项目实施并使用分页库

问题描述 投票:0回答:1

比方说,我已经实现了使用寻呼库无限滚动列表,但现在我想给用户一个选项,在客户端对数据进行排序,我该怎么办呢?例如,我有电影数据,寻呼库工作正常加载所有的电影,但我怎么能基于发言权等级排序的电影或发布日期。

任何帮助,将不胜感激。

android android-recyclerview infinite-scroll android-paging
1个回答
0
投票

我还没有尝试过这种方法,但希望它的工作原理。假设你使用RecyclerView显示列表(因为它在recyclerView要容易得多)

当你从服务器的前十个项目,你选择排序it.Lets按名称(升序)说。你要在这里使用两个的ArrayList:1:finalArrayList: - 它包含了所有的整个列表2:updateArrayList: - 其中有近十结果

当你选择排序(onButtonClick)

      updateArrayList = new ArrayList<>();
        updateArrayList.addAll(finnalArrayList);


 Collections.sort(updateArrayList, new Comparator<StoreModel>() {
      public int compare(StoreModel obj1, StoreModel obj2) {
           // ## Ascending order
           if (sortingBy == 0) {
                     return obj1.getName().compareToIgnoreCase(obj2.getName());
 }});
adapter.clear();
adapter.addAll(updateArrayList);

运行按钮被点击时,只有当该代码

现在,当你向下滚动,更多的数据来

 updateArrayList = new ArrayList<>();
 updateArrayList.add(StoreModel)//Add the latest ten data from the response

并将其发送给适配器之前对其进行排序

 Collections.sort(updateArrayList, new Comparator<StoreModel>() {
      public int compare(StoreModel obj1, StoreModel obj2) {
           // ## Ascending order
           if (sortingBy == 0) {
                     return obj1.getName().compareToIgnoreCase(obj2.getName());
 }});
 adapter.addAll(updateArrayList);

希望你得到它,希望它works.Cheers :)

© www.soinside.com 2019 - 2024. All rights reserved.