2017-05-31 23 views
-1

我有一個自定義對象,我從中獲取日期和時間的字符串形式。 它在for循環。適配器的排序日期字符串

List<MyObj> objs = getActivity().getPreferences().getData(activity); 
for (MyObj myob : objs) { 

int pos = adapter.contains(myob.id); 
if (pos == -1) { 
      data = new MyAdapter.MyData(); 
      data.myob = myob; 
      adapter.addItem(data); 

     } 
     else { 
      data = adapter.getItem(pos); 
       data.myob = myob; 
     } 

//Sorting to be done here... I get date from data.myob.date which returns String as 22.05 12:45 
//After sorting, I need to notify the adapter. 

adapter.notifyDataSetChanged(); 

} 

現在我需要從自定義對象的升序和降序兩者中挑選日期。 我該怎麼做?

+0

Collections.sort().... ?? –

+0

可否請給我一個例子? – Del905241

+0

https://stackoverflow.com/questions/13120316/how-to-sort-date-in-descending-order-from-arraylist-date-in-android –

回答

1

嘗試此

Collections.sort(yourList, new Comparator<CustomClass>() { 
         @Override 
         public int compare(CustomObject o1, CustomObject o2) { 

          DateFormat date = new SimpleDateFormat("dd MMM yyyy"); 
          Date d1 = null, d2 = null; 
          try { 
           d1 = date.parse(o1.get_date().toString()); 
           d2 = date.parse(o2.get_date().toString()); 

          } catch (ParseException e) { 
           e.printStackTrace(); 
          } 

          //return o1.get_date().compareTo(o2.get_date()); 
          return d1.compareTo(d2); 
         } 
        });