0

我对此有很大的困难。我用 CalendarView 制作了一个 Gridview,它在每个位置都有一个分配的日期。我用这段代码迭代它..

for (int n = 0; n < mnthlength; n++) {

        itemvalue = df.format(pmonthmaxset.getTime());
        Log.v("Calendar","look at this----->"+itemvalue);
        pmonthmaxset.add(GregorianCalendar.DATE, 1);
        day_string.add(itemvalue);

    }

我有另一个返回另一个数组列表的方法的代码......

private List<ParseObject>getEventListFromParse(){

    ParseQuery<ParseObject> query = ParseQuery.getQuery("Event");
    query.whereEqualTo("Comercial", ParseUser.getCurrentUser().getObjectId());
    query.include("Fecha");

    query.findInBackground(new FindCallback<ParseObject>() {
        public void done(List<ParseObject> objects, ParseException e) {
            if (e == null) {
                for (ParseObject obj:objects
                ) {

                    eventArraylist=new ArrayList<>();
                    eventArraylist.add(obj);


                }
            } else {
                Log.d("score", "Error: " + e.getMessage());
            }
        }
    });
    return eventArraylist;
}

所以我们现在有

List<String> day_string;

List<ParseObject> eventArraylist;

这两者都有像字符串 yyyy-mm-dd 这样的元素。我需要比较以循环从 0 开始的每个位置,并告诉我是否在 day_string 的第一个元素(例如今天 2019-03-20)中是否在 eventArraylist 上有匹配的日期。

我检查了一些堆栈帖子,但可以实现它们。 如何在android中比较两种类型的arraylist

4

1 回答 1

0

看起来您正在尝试将一个StringParseObject永远不会飞的物体进行比较。为了正确起见,您可能需要考虑在比较之前存储Date在列表中或解析对象Date

当你这样做时,因为 Date 实现了 Comparable,它就像

date1.compareTo(date2);

您也可以迭代day_string并检查元素是否存在使用

eventArraylist.contains(desiredElement)

于 2019-03-21T01:29:01.377 回答