android很多很多页面都有用到ListView,很多时候,我们想显示给用户看的数据是已经排序好的。
所以,在ListView绑定适配器Adapter之前,我们需要对数据进行排序。
给大家介绍一个很简单的方法。可以对根据一个自定义对象的属性对用户自定义对象的集合进行排序。
// 对listview数据进行排序
Collections.sort(infos, new Comparator<FaultRegister>() {
@Override
public int compare(FaultRegister lhs, FaultRegister rhs) {
// TODO 需要排序的属性值
Date date1 = Utils.stringToDate(lhs.getReportTime());
Date date2 = Utils.stringToDate(rhs.getReportTime());
// 对日期字段进行排序,降序用before 升序用after
if (date1.before(date2)) {
return 1;
}
return -1;
}
});
这里传入的两个参数需要解释一下:
infos 这个正是我们需要显示的数据集合,是我们自定义的对象集合
FaultRegister 这是我们自定义对象的类名
所以,后面就是new 了一个Comparator 对象出来。
请注意后面的升序和降序:降序用before 升序用after
这个方法简单吧,大家有其他更好的方法或是建议欢迎留言。