所以我动态加载每个listview项目的网址图片。
问题:
我似乎有一个错误,在加载listview时,第一个listview项目的ImageView会闪烁所有listview项目的所有图像。在所有这些加载之后,listview项目逐个显示它们的图像,第一个获得正确的图像。
我不确定发生了什么,为什么会发生这种情况。
这是我的图片加载AsyncTask。
private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
private final WeakReference bmImage;
public DownloadImageTask(ImageView image) {
bmImage = new WeakReference(image);
}
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) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return mIcon11;
}
protected void onPostExecute(Bitmap bitmap ) {
if (isCancelled()) {
bitmap = null;
}
if (bmImage != null) {
ImageView imageView = (ImageView)bmImage.get();
// if the imageView was not retrieved
if (imageView != null) {
// if the image source is not empty
if(bitmap != null){
imageView.setImageBitmap(bitmap);
}else{
// set placeholder image
imageView.setImageDrawable(imageView.getContext().getResources()
.getDrawable(R.drawable.social_eyes_bare_owl));
}
}
}
}
}
答案 0 :(得分:0)
我遇到了类似图片下载器的相同问题。问题可能不在下载程序中,而是在您从中提供URL的位置。因此,如果可能,您可以更新调用此图像加载器的代码。