【问题标题】:Sort date strings for adapter为适配器排序日期字符串
【发布时间】:2017-05-31 08:14:10
【问题描述】:

我有一个自定义对象,我可以从该对象中以字符串的形式获取日期和时间。 它在一个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();

}

现在我需要按升序和降序对自定义对象中的日期进行排序。 我该怎么做?

【问题讨论】:

标签: java 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);
                        }
                    });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-14
    • 2019-11-07
    • 1970-01-01
    • 2012-11-09
    • 2011-06-05
    • 2014-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多