转载请标明出处:
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);
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)
|| 版权声明:本文为博主杜锦阳原创文章,转载请注明出处。