gpt4 book ai didi

android - ListView 显示错误和重复图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:10 25 4
gpt4 key购买 nike

我有一个 ListView 和 12 个 ImageView。

每个 ImageView 都有不同的图像,这些图像是从 url 加载的。无论我是否滚动,图像都会随机播放,有时还会重复。

我尝试了其他 10 种方法来解决这个问题,但都没有成功。

这是我下载并显示图片的代码:

private static class ViewHolder {
ImageView imageViewPhoto;

Bitmap photo;
boolean isDownloading;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder;

if (convertView == null) {

// ...classical view holder and other operations...

if (!viewHolder.isDownloading) {

viewHolder.isDownloading = true;

IImageDownload downloadInterface = new IImageDownload() {

@Override
public void onError(VolleyError error, String url) {
}

@Override
public void onDownloaded(Bitmap response, String url) {

viewHolder.photo = response;
notifyDataSetChanged();
}
};

imageDownloader.downloadImage(dataList.get(position).getPhotoPath(), true, downloadInterface);

convertView.setTag(viewHolder);
} else {
viewHolder = (ViewHolder) convertView.getTag();
}



if (viewHolder.photo != null) {
viewHolder.imageViewPhoto.setImageBitmap(viewHolder.photo);
} else {
viewHolder.imageViewPhoto.setImageResource(R.drawable.gray_background);
}

}

提前感谢您的任何想法!

最佳答案

之前:

imageDownloader.downloadImage(dataList.get(position).getPhotoPath(), true, downloadInterface);

放:

viewHolder.photo.setImageBitmap(null);

这将重置 ImageView 的位图,因为它正在被回收并因此保留其图像。

关于android - ListView 显示错误和重复图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23432372/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com