我试图解析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