将两个arraylist与ParseObject进行比较的问题

问题描述 投票:0回答:1

我很困难。我用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);

    }

我有一个方法的另一个代码返回另一个arraylist ...

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上有匹配的日期。

我检查了一些堆栈帖子,但可以实现它们。 How to compare two types of arraylist in android

android for-loop arraylist parse-platform parse-android-sdk
1个回答
0
投票

看起来你正试图将String与永远无法飞行的ParseObject物体进行比较。为了正确起见,您可能需要考虑在列表中存储Date或在比较之前将对象解析为Date

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

date1.compareTo(date2);

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

eventArraylist.contains(desiredElement)

© www.soinside.com 2019 - 2024. All rights reserved.