我使用Fedor的延迟加载画廊用URL显示几张图片。 代码
class BitmapDisplayer implements Runnable {
Bitmap bitmap;
PhotoToLoad photoToLoad;
public BitmapDisplayer(Bitmap b, PhotoToLoad p) {
bitmap = b;
photoToLoad = p;
}
public void run() {
if (imageViewReused(photoToLoad)) {
System.out.println("imageViewReused");
return;
}
// exist in memory cache or SD cache
if (bitmap != null) {
photoToLoad.imageView.setImageBitmap(bitmap);
}
// cache not exist and loading
else {
photoToLoad.imageView.setImageResource(R.drawable.load);
photoToLoad.imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
}
}
}
它检查缓存天气是否存在。 如果没有,表示加载未完成并显示R.drawable.load。 但是当图片加载完成时,imageView不会更新图像,仍然显示可绘制的图像。 加载完成后如何修改更新?
答案 0 :(得分:2)
您可能需要在设置位图后调用notifyDataSetChanged()
,以防您在图库中使用BaseAdapter
或其子项。