我使用 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 并没有更新图像,仍然显示可绘制对象。 我应该如何修改以在加载完成时更新?
最佳答案
您可能需要在设置位图后调用 notifyDataSetChanged()
,以防您在图库中使用 BaseAdapter
或其子项。
关于android - Fedor 的延迟加载问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8601207/