【发布时间】:2018-07-29 14:42:01
【问题描述】:
我有一个自定义数组列表,其中包含多个参数以及时间。
我想按照升序和降序格式的时间参数对该列表进行排序
我搜索了很多 这里有一些链接 Sort objects in ArrayList by date?
Sort ArrayList with times in Java
还有更多 但没有一个工作
这是我的代码
点击函数调用
private void callTimeSorting(ArrayList<ObjectClass>solutions){
try{
ArrayList<ObjectClass> tempList = new ArrayList<>();
if (tempList.size() > 0){tempList.clear();}
tempList.addAll(solutions);
if (mTimeTag == 1) {
if (!mAsendingTime) {
Collections.sort(tempList, AsendingTimeComparator);
mAsendingTime = true;
mAdapter.notify();
} else {
Collections.sort(tempList, DesendingTimeComparator);
mAsendingTime = false;
}
}
}
OnClick 方法
@Override
public void onClick(View view) {
int id = view.getId();
switch (id) {
case R.id.tvTimings :
mTimeTag = 1 ;
callTimeSorting(mSolutions) ;
mAdapter.notifyDataSetChanged();
break;
}}
AsendingComparator
private static Comparator<ObjectClass> AsendingTimeComparator = new Comparator<ObjectClass>() {
@Override
public int compare(ObjectClass solution1, ObjectClass solution2) {
String time1 = solution1.getDepartureDateTime();
String time2 = solution2.getDepartureDateTime();
return time1.compareTo(time2);//asending
}
};
private static Comparator<ObjectClass> DesendingTimeComparator = new Comparator<ObjectClass>() {
@Override
public int compare(ObjectClass solution1, ObjectClass solution2) {
String time1 = solution1.getDepartureDateTime();
String time2 = solution2.getDepartureDateTime();
return time2.compareTo(time1);//descending
}
};
我不知道为什么我的排序列表没有附加到 recyclerView??
【问题讨论】:
-
在设置适配器中您使用的是哪个列表?
标签: android