【发布时间】:2014-10-08 20:55:21
【问题描述】:
我一直在努力在 ListView 中异步加载图像,因为在加载时,其中一些在闪烁(它们被另一个加载的图像替换)并且其中一些显示在错误的项目中。
图片下载类:
class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
ImageView bmImage;
public DownloadImageTask(ImageView bmImage) {
this.bmImage = bmImage;
}
protected Bitmap doInBackground(String... urls)
{
String urldisplay = urls[0];
Bitmap mIcon11 = null;
try
{
InputStream in = new java.net.URL(urldisplay).openStream();
mIcon11 = BitmapFactory.decodeStream(in);
}
catch (Exception e) {}
return mIcon11;
}
protected void onPostExecute(Bitmap result) {
bmImage.setImageBitmap(result);
}
}
当我将数据分配给 ListView 时,每个项目的调用:
ImageView image = (ImageView)view.findViewById(R.id.imageView);
TextView title = (TextView)view.findViewById(R.id.txtTitle);
new DownloadImageTask(image).execute(data.image);
title.setText(data.title);
我应该做些什么不同的事情?
【问题讨论】:
-
发布您的适配器代码!
标签: android image listview asynchronous load