Я новичок с Android и очень нуждаюсь в помощи от тех, кто знаком с Parse API. Я сделал настройку своего карточного контейнера, заполненного несколькими изображениями. Тем не менее, реальный дисплей показывает карты в случайной последовательности в соответствии с «DownloadBitmap» вместо возрастания по мере моей мысли. Подозрительной причиной может быть время задержки через «getdatainbackground()». Кто-нибудь знает, как решить эту неупорядоченную проблему? Я попытался использовать «getdata()» вместо этого, но он действительно убивает производительность и кажется не очень хорошим вариантом. Мой код выглядит следующим образом.Извлечь несколько изображений из синтаксического анализа с помощью getdatainbackground (android)
ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("food");
query.orderByAscending("order");
query.setLimit(10);
query.findInBackground(new FindCallback<ParseObject>() {
@Override
public void done(final List<ParseObject> objects, ParseException e) {
for (ParseObject obj_food : objects) {
if (obj_food.getInt("order") == order) {
final ParseFile file = obj_food.getParseFile("picture");
//bitmap
file.getDataInBackground(new GetDataCallback() {
public void done(byte[] data, ParseException e) {
if (e == null) {
Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);
DownloadBitmap.add(bitmap);
}
}
});
}
order++;
}
}
});
Я не уверен, как изменить мой код, основанный на ваше предложение ?? Когда я заменил файл «file.getDataInBackground» на «file.getData()» или попытался использовать рекурсию, проблема последовательности будет решена, но с очень низкой скоростью загрузки изображений в мой контейнер. Так что я действительно надеюсь, что вы используете «file.getDataInBackground» с любым другим методом. СПАСИБО! –