У меня есть два класса: < /strong>
show: содержит массив указателей на шоу класса
showtimes: содержит атрибут даты. < /p>
Я хочу: < /strong>
Получите шоу-схему, что соответствует выбранной дате в Array. Это массив «Temptimes», который получает множество парсеобъектов от функции getTime (). Они получают Okey, я проверил их объекты. Если какой -либо массив содержит один из объектов из «Temptimes», то я нашел шоу, которое имеет шоу на выбранную дату, и оно добавлено в массив «результат». Это тоже работает, но моя проблема заключается в последних строках кода в основном разделе. Мысли?
Я с радостью объясняю больше, если вам интересно, так как мне трудно объяснить проблему простым способом! < /p>
main < /p>
temps = new ArrayList();
tempresult = new ArrayList();
tempTimes = new ArrayList();
result = new ArrayList();
tempTimes = getTimes();
Date de = getDateFromDatePicket(dialog.getDatePicker());
Date ds = getDateFromDatePicketStart(dialog.getDatePicker());
final ParseQuery showQuery = ParseQuery.getQuery("Show");
showQuery.whereLessThanOrEqualTo("startDate", ds);
showQuery.whereGreaterThanOrEqualTo("endDate", ds);
showQuery.findInBackground(new FindCallback() {
public void done(List likeList, ParseException e) {
if (e == null) {
Log.e("SKG: possiblesize ", String.valueOf(likeList.size()));
for (ParseObject likeItem : likeList) {
if(likeItem.getList("showtimes").contains(tempTimes)){
result.add(likeItem);
}
JSONArray jArray = likeItem.getJSONArray("showtimes").;
tempresult.clear();
for (int i = 0; i < jArray.length(); i++) {
JSONObject jsonobject = null;
try {
jsonobject = jArray.getJSONObject(i);
} catch (JSONException e1) {
e1.printStackTrace();
}
try {
String u = jsonobject.getString("objectId");
//Log.e("SKG: ustring", u);
tempresult.add(u);
} catch (JSONException e1) {
e1.printStackTrace();
}
}
for (String r : tempresult) {
if (tempTimes.contains(r)) {
result.add(likeItem);
Log.e("SKG R:", likeItem.getObjectId());
}
}
}
}
Log.e("SKG resultsize: ", String.valueOf(result.size()));
}
});
masterQuery.whereContainedIn("objectId", tempTimes);
< /code>
getTime-function: < /p>
private ArrayList getTimes() {
final ArrayList t1 = new ArrayList();
final ParseQuery showtimeQuery = ParseQuery.getQuery("Showtime");
Date de = getDateFromDatePicket(dialog.getDatePicker());
Date ds = getDateFromDatePicketStart(dialog.getDatePicker());
showtimeQuery.whereLessThanOrEqualTo("date", de);
showtimeQuery.whereGreaterThanOrEqualTo("date", ds);
showtimeQuery.findInBackground(new FindCallback() {
public void done(List likeList, ParseException e) {
if (e == null) {
for (ParseObject likeItem : likeList) {
t1.add(likeItem);
Log.e("SKG: t1chosen ", likeItem.getObjectId());
}
}
Log.e("SKG: t1size:", String.valueOf(t1.size()));
}
});
return t1;
}
Подробнее здесь: https://stackoverflow.com/questions/351 ... of-objects