将两个arraylist与ParseObject

时间:2019-03-20 21:47:08

标签: android for-loop arraylist parse-platform parse-android-sdk

对此有很大的困难。我用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

1 个答案:

答案 0 :(得分:0)

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

当您执行此操作后,由于Date实现了Comparable,因此就像

一样容易

date1.compareTo(date2);

您还可以遍历day_string并使用以下方法检查元素是否存在

eventArraylist.contains(desiredElement)