开发者社区> 问答> 正文

如何在Android Studio中的自定义数组列表中对日期进行排序?

我在我的应用程序中添加了一个功能,该功能使用户可以填写过去的日期,如果今天是14/03/2020,则可以让您填写10/03/2020(或任何其他日期)的条目。但是我在对我的数组列表进行排序时遇到问题,以便所有具有相同日期的条目都在数组列表中。

我在自定义ListView中向用户显示这些条目,因此为了使我的应用程序更加用户友好,我希望所有具有相同日期的条目一起显示。

我有一个自定义arraylist,它接受费用名称(字符串),金额(字符串)和日期(字符串)

ArrayList<ExpenseData> customArrayList=new ArrayList<ExpenseData>();

如果您需要任何其他信息,请询问...谢谢!

问题来源:Stack Overflow

展开
收起
montos 2020-03-26 09:55:18 476 0
1 条回答
写回答
取消 提交回答
  • 您可以使用以下方法按日期对列表进行排序。

     Collections.sort(list, (item1, item2) -> {
                Date date1 = stringToDate(item1.getDate());
                Date date2 = stringToDate(item2.getDate());
    
                if (date1 != null && date2 != null) {
                    boolean b1;
                    boolean b2;
                    if (isAscending) {
                        b1 = date2.after(date1);
                        b2 = date2.before(date1);
                    }else {
                        b1 = date1.after(date2);
                        b2 = date1.before(date2);
                    }
    
                    if (b1 != b2) {
                        if (b1) {
                            return -1;
                        }
                        if (!b1) {
                            return 1;
                        }
                    }
                }
                return 0;
            });
    
    public static Date stringToDate(String strDate) {
            if (strDate == null)
                return null;
    
            // change the date format whatever you have used in your model class.
            SimpleDateFormat format = new SimpleDateFormat("MMM dd, yyyy hh:mm:ss a", Locale.US);
            Date date = null;
            try {
                date = format.parse(strDate);
                System.out.println(date);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            return date;
        }
    

    回答来源:Stack Overflow

    2020-03-26 09:56:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
58同城Android客户端Walle框架演进与实践之路 立即下载
Android组件化实现 立即下载
蚂蚁聚宝Android秒级编译——Freeline 立即下载