【发布时间】:2015-03-16 00:21:30
【问题描述】:
我正在使用通用图像加载器,我有一个ListView,每行都有一个图像。快速向下滚动时,图像不会更新,而是使用旧图像。但是,当慢慢向下滚动时,图像能够更新,但需要一些时间。这给人的印象是列表在重复。
这些是我的选择:
options = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisk(true)
.considerExifParams(true)
.displayer(new FadeInBitmapDisplayer(0, true, false, false))
.build();
这就是我使用getView()-method 加载图像的方式:
ImageLoader.getInstance().displayImage(MY_IMAGE_URL+imageid, holder.imgView, options, new SimpleImageLoadingListener() {
@Override
public void onLoadingStarted(String imageUri, View view) {
holder.progressBar.setVisibility(View.VISIBLE);
holder.placeHolder.setVisibility(View.VISIBLE);
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
String message = null;
switch (failReason.getType()) {
case IO_ERROR:
message = "Input/Output error";
break;
case DECODING_ERROR:
message = "Image can't be decoded";
break;
case NETWORK_DENIED:
message = "Downloads are denied";
break;
case OUT_OF_MEMORY:
message = "Out Of Memory error";
break;
case UNKNOWN:
message = "Unknown error";
break;
}
//Toast.makeText(ImagePagerActivity.this, message, Toast.LENGTH_SHORT).show();
holder.progressBar.setVisibility(View.GONE);
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
holder.progressBar.setVisibility(View.GONE);
holder.placeHolder.setVisibility(View.GONE);
}
});
如何确保图像在列表视图中正确加载?
【问题讨论】:
标签: android android-listview universal-image-loader