背景:我们当前的项目是一个点菜的APP,要对订单列表进行排序(根据时间)未结订单的就是从旧到新,已结账的就是从新到旧(其实是反过来)
使用Collections
先写一个接口AlreadyOrderTimeSort
通过元素的计算进行排序
public class AlreadyOrderTimeSort implements Comparator<BillInfo> {
/**
* @o1 要排序的元素1
* @o2 要排序的元素2
* @return
*/
@Override
public int compare(BillInfo o1, BillInfo o2) {
return (int) ((o2.getOpenTime() / 1000) - (o1.getEndTime() / 1000));
}
}
在获取数据的地方使用Collections中的sort方法
//alreadyOrder 排序的对象或者内容
if (alreadyOrder != null) {
//对已结订单进行排序(由新到旧)
Collections.sort(alreadyOrder, new AlreadyOrderTimeSort());
alreadyOrderAdapter.setList(alreadyOrder);
mLv_Already.setAdapter(alreadyOrderAdapter);
}