比方说,我已经实现了使用寻呼库无限滚动列表,但现在我想给用户一个选项,在客户端对数据进行排序,我该怎么办呢?例如,我有电影数据,寻呼库工作正常加载所有的电影,但我怎么能基于发言权等级排序的电影或发布日期。
任何帮助,将不胜感激。
我还没有尝试过这种方法,但希望它的工作原理。假设你使用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 :)