Android RecyclerView 实现position列表倒序排列(汇总)

转载请标明出处:
http://blog.csdn.net/djy1992/article/details/76201794
本文出自:【奥特曼超人的博客】

刚刚群里有人在问Position倒序的问题,刚好有点时间在这里总结下分享给大家。

不懂的可以点击加入 安卓移动技术精英群安卓移动技术精英



第一种: 常见的有Collections

Collections.sort(list);  
System.out.println("list-》 默认排序后的状态");  
SortList.output(list);  



第二种: 在设置数据源的时候:

// 设置倒序
        Collections.reverse(bean);
        myViewHolder.tv.setText(bean.get(position));



第三种: 自定义Comparator比较对象,在setAdapter之前调用,Beans需要implements Comparator :

// 自定义比较器:假设是按书的价格排序  
    static class PriceComparator implements Comparator {  
        public int compare(Object object1, Object object2) {// 实现接口中的方法  
            Book p1 = (Book) object1; // 强制转换  
            Book p2 = (Book) object2;  
            return new Double(p1.price).compareTo(new Double(p2.price));  
        }  
    }  
//调用
Collections.sort(list, new PriceComparator()); // 根据价格排序  
//示例:单独比较
    Comparator<Beans> itemComparator = new Comparator<Beans>() {  
        public int compare(Beans info1, Beans info2){  
            return info1.getAges().compareTo(info2.getAges());  
        }  
    };  
    Collections.sort(mProfileList, itemComparator);  



第四种: RecyclerView的布局是有LayoutManager控制的,而LinearLayoutManager就支持了倒序的功能,所以我们可以直接用:

setStackFromEnd(true);
setReverseLayout(true);
//示例:setAdapter之前使用
LinearLayoutManager layout = new LinearLayoutManager(this);
layout.setStackFromEnd(true);//列表再底部开始展示,反转后由上面开始展示
layout.setReverseLayout(true);//列表翻转
rView.setLayoutManager(layout);



第五种: 和listview一样,size和position是相应的,只要用size来反转数据即可,或者重写adapter的getItem方法,改为get(size-1-position)。



第六种: list增加数据源(这种不太推荐)

//顾名思义,添加到头部数据
list.addFirst(item)

|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值