我試圖解析JSON負載並將信息放置在相對佈局視圖中。Android/Java異步圖像下載任務永不停止運行
我用這個標準異步下載程序來獲得被放置在適當的ImageView位圖:
public class AsyncDownloadImage extends AsyncTask<String,Void,Bitmap>{
ImageView bmImage;
public AsyncDownloadImage(ImageView bmImage){
this.bmImage = bmImage;
}
@Override
protected Bitmap doInBackground(String... urls) {
String urldisplay = null;
urldisplay = urls[0];
Bitmap merchViewBitMap = Bitmap.createBitmap(90,90,Bitmap.Config.ARGB_8888);
try{
InputStream in = new URL(urldisplay).openStream();
merchViewBitMap = BitmapFactory.decodeStream(in);
in.close();
}catch(Exception e){
System.out.println(String.format("Image Download Exception ==> %s", e.toString()));
}
return merchViewBitMap;
}
@Override
protected void onPostExecute(Bitmap result) {
super.onPostExecute(result);
bmImage.setImageBitmap(result);
}
}
這就是所謂的這種方式在適配器類的getView方法:
String imageUrl = String.format("https://www.xxxxxx.com/va/public/render_image?image_id=%s", currentMerchItem.getMt_image_id());
new AsyncDownloadImage(viewHolder.imageview).execute(imageUrl);
下載圖像並設置ImageView(s),但是它們被反覆無限地下載。多個圖像似乎在ImageView中,當滾動瀏覽時,它們都會變成gif。
如何在列表中最後一張圖片下載後停止此操作?
-TU
看起來你沒有包括含有該問題的代碼。我會說問題是你的'新的AsyncDownloadImage(viewHolder.imageview).execute(imageUrl);'不斷被調用。 – wvdz