Fedor的懒加载麻烦

时间:2011-12-22 08:33:15

标签: android

我使用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不会更新图像,仍然显示可绘制的图像。 加载完成后如何修改更新?

1 个答案:

答案 0 :(得分:2)

您可能需要在设置位图后调用notifyDataSetChanged(),以防您在图库中使用BaseAdapter或其子项。