对此有很大的困难。我用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
答案 0 :(得分:0)
看起来您正在尝试将String
与ParseObject
对象进行比较,该对象永远不会飞行。为了正确起见,您可能需要考虑在列表中存储Date
或在比较之前将对象解析为Date
。
当您执行此操作后,由于Date实现了Comparable,因此就像
一样容易 date1.compareTo(date2);
您还可以遍历day_string
并使用以下方法检查元素是否存在
eventArraylist.contains(desiredElement)