저는 Android 앱에 웹 사이트의 API를 구현하고 있습니다. 이 API에는 이미지 URL 배열이 들어있는 배열이 있습니다. 자, 배열을 순조롭게 반복 할 수 있고 이미지 URL을 드로어 블로 변환하는 AsyncTask를 작성했습니다. 제가 위에서 게시 기능이 다른 루프 내에서 호출AsyncTask를 로컬 변수로 변환
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();
}
}
:하지만 (내가 루프에 프로그래밍 방식으로 만드는 오전)에 이미지 뷰에 그 드로어 블을 얻을 수있는 좋은 방법이 없습니다. 위 코드에서 볼 수 있듯이, ImageView myImage는 결국 GetPhotoSet.execute의 실행 호출에 의해 반환되는 드로어 블을 포함해야합니다. 어떤 아이디어? 감사!
추가 세부 정보 : AsyncTask에 의해 데이터가 반환되는 메서드는 ImageView myImage를 선언 한 루프 외부에 있으므로 myImage가 있는지, 참조 할 수 없는지 (그리고 거기에 루프의 다른 반복에서부터 아마도이 시점까지는 소수의 myImages)
굉장하고 완벽합니다. 고맙습니다! – Nick