我有一个“规划”的ListArray。
ArrayList<Planning> tmpListPlanning
这是我的“计划班”:
public class Planning {
private String start;
private String title;
}
问题是,我接受了我的“tmpListPlanning”无序的元素。
我想用他们的约会对它们进行排序。 日期采用以下格式:
"2013-12-10 14:00:00"
我在StackOverFlow上看到了这个,但我无法使它在自定义对象列表上运行:
Collections.sort(datestring, new Comparator<String>() {
DateFormat f = new SimpleDateFormat("dd/MM/yyyy '@'hh:mm a");
@Override
public int compare(String o1, String o2) {
try {
return f.parse(o1).compareTo(f.parse(o2));
} catch (ParseException e) {
throw new IllegalArgumentException(e);
}
}
});
你可以帮帮我吗?
感谢。
编辑1:
Collections.sort(tmpListPlanning, new Comparator<Planning>() {
DateFormat f = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
@Override
public int compare(Planningo1, Planning o2) {
String date1 = o1.getStart();
String date2 = o2.getStart();
try {
Log.e("Debug", "RETURN");
return f.parse(date1).compareTo(f.parse(date2));
} catch (ParseException e) {
Log.e("Debug", "Parse Exception");
throw new IllegalArgumentException(e);
} catch (java.text.ParseException e) {
e.printStackTrace();
}
return 0;
}
});
答案 0 :(得分:0)
您使用计划列表,因此您想要比较所有计划。 您需要一个计划比较器,并比较您需要使用其开始日期的两个计划。
你可以试试这个:
Collections.sort(datestring, new Comparator<Planning>() {
DateFormat f = new SimpleDateFormat("dd/MM/yyyy '@'hh:mm a");
@Override
public int compare(Planning o1, Planning o2) {
Date date1 = o1.getStart();
Date date2 = o2.getStart();
try {
return f.parse(date1).compareTo(f.parse(date2));
} catch (ParseException e) {
throw new IllegalArgumentException(e);
}
}
});