Я работаю над реализацией API веб-сайта в приложении для Android.Есть часть этого API, которая дает мне массив, который содержит массив URL-адресов изображений.Теперь я могу перебирать массивы просто отлично, и я написал AsyncTask, который преобразует URL-адреса изображений в drawables.Но у меня нет хорошего способа получить эти drawables в ImageView (который я создаю программно в цикле):
void createPhotoPost(JSONObject postData, LinearLayout myPostHolder) {
try {
ImageView myImage = new ImageView(myContext);
JSONArray photosArray = new JSONArray(postData.getString("photos"));
for(int i = 0; i < photosArray.length(); i++) {
JSONObject thisPhoto = photosArray.getJSONObject(i);
JSONArray sizesArray = new JSONArray(thisPhoto.getString("alt_sizes"));
JSONObject largest = sizesArray.getJSONObject(0);
new GetPhotoSet(this).execute(largest.getString("url"));
}
myPostHolder.addView(myImage);
} catch (Exception e) {
e.printStackTrace();
}
}
Функция, которую я разместил выше, вызывается из другого цикла.Как вы можете видеть в моем коде выше, myImage ImageView должен в конечном итоге содержать рисованный объект, который возвращается вызовом выполнения GetPhotoSet.execute.Есть идеи?Спасибо!
Дополнительные сведения: Поскольку метод, в котором данные возвращаются AsyncTask, находится вне цикла, в котором я объявил ImageView myImage, он не знает, что myImage существует, и не может ссылаться на него.(и, вероятно, к этому моменту существует несколько myImages из разных итераций цикла)