我有一個列表視圖,其中包含許多列表項目,其中包含日期。我想通過日期對項目進行排序,例如日期在當前日期之後的項目應該是第一個項目,而日期已過期的項目應該在該日期之後。任何人都可以幫忙Android:如何根據日期對列表項目進行排序
0
A
回答
10
您可以使用自己比較像
Collections.sort(yourList, new Comparator<YourObjectInYourList>() {
public int compare(YourObjectInYourList o1, YourObjectInYourList o2) {
if (o1.getDate() == null || o2.getDate() == null)
return 0;
return o1.getDate().compareTo(o2.getDate());
}
});
+0
我應該在哪裏放上面的代碼? –
+0
將它放在任何你想分類清單的地方。 – yilmazburk
+0
例如,您可以用這種方式對列表進行排序,並將列表放入listView適配器。 – yilmazburk
0
List<Date> dateList = new ArrayList<Date>();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy",Locale.US);
try {
dateList.add(sdf.parse("01/12/2013"));
dateList.add(sdf.parse("02/11/2013"));
dateList.add(sdf.parse("03/12/2013"));
dateList.add(sdf.parse("04/10/2013"));
dateList.add(sdf.parse("05/12/2013"));
dateList.add(sdf.parse("06/12/2013"));
dateList.add(new Date());
Collections.sort(dateList);
Comparator<Date> cmp = new Comparator<Date>() {
@Override
public int compare(Date o1, Date o2) {
if(o1.getTime() > o2.getTime()) return 1;
else if(o1.getTime() < o2.getTime()) return -1;
else return 0;
}
};
Collator collator = Collator.getInstance();
List<Date> out_of_date_list = new ArrayList<Date>();
for(Date date : dateList){
System.out.println(">>> date = "+sdf.format(date));
System.out.println(">>> out of date "+cmp.compare(new Date(), date));
if(cmp.compare(date,new Date())<0){
out_of_date_list.add(date);
}
}
System.out.println(">>> print all out of date ");
for(Date date : out_of_date_list){
System.out.println(">>> date = "+sdf.format(date));
}
} catch (ParseException e) {// TODO Auto-generated catch block
e.printStackTrace();
}
相關問題
- 1. 根據日期列對數據表進行排序(dd MMM yyyy)
- 2. 如何根據日期字段對所有列進行排序
- 3. 如何根據相對日期值對字典列表進行排序?
- 4. 如何根據日期對類對象進行排序?
- 5. Android:如何按日期對FTPFile []文件列表進行排序?
- 6. 如何根據日期對sqlite數據庫進行排序?
- 7. CAML查詢根據修改日期對列表項進行排序
- 8. 如何根據表中的月份使用javascript對日期列進行排序?
- 9. 如何根據屬性列表中的日期對我的UITableViewCells進行排序?
- 10. 如何根據日期時間在sql server 2008中對錶列進行排序?
- 11. 如何根據修改的日期對圖像進行排序?
- 12. 如何根據日期對tableView進行排序?
- 13. 如何根據創建日期對文件進行排序?
- 14. 我們如何根據日期對圖像進行排序
- 15. 如何根據另一個列表對列表進行排序?
- 16. 如何根據日期列升序對二維數組進行排序
- 17. 如何根據Windows電話的順序對日期進行排序或排序
- 18. 如何對日期對象列表進行排序?
- 19. 如何在Android中對日期和空日期進行排序?
- 20. 如何根據項目的主序列表對一小列項目進行排序?
- 21. 如何根據對象的屬性對列表進行排序
- 22. 如何根據列對數組列表進行排序?
- 23. 如何根據今天/本週/本月對日期數組進行排序 - android
- 24. 根據生日對excel進行排序
- 25. 如何根據日期對SQL Server中的多列進行排序
- 26. 根據子女的創建日期對對象進行排序
- 27. 如何對列表框中的項目進行升序排序
- 28. 如何通過「修改日期」對此列表進行排序?
- 29. 如何按日期對列表進行排序?
- 30. 如何按日期對文件列表進行排序?
您可以通過多種方式實現這一點。你有什麼嘗試?請郵編。 –
很好的答案在這裏:http://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date – Andros
有很多線程存在於Stackoverflow本身。最好先嚐試一下自己。如果您有任何問題,請告訴我們。 –