我有一个游标适配器,其bindView如下:
@Override
public void bindView(View view, Context context, Cursor cursor) {
...
ImageView imageView = (ImageView) view.findViewById(R.id.icon);
ImageLoader imageLoader = ImageLoader.getInstance();
DisplayImageOptions options = new DisplayImageOptions.Builder()
.cacheOnDisk(true).cacheInMemory(true)
.showImageOnLoading(R.drawable.ic_contact_picture).showImageOnFail(R.drawable.ic_contact_picture)
.resetViewBeforeLoading(true)
.displayer(new FadeInBitmapDisplayer(300)).build();
imageLoader.displayImage(url, imageView, options);
...
}
我遇到的问题是:
当我滚动列表视图时,项目的图像视图图像会显示在另一个项目的图像视图中。为什么会这样?
listview项目的内部回收会导致问题吗?
答案 0 :(得分:0)
正如您所说,问题可能是因为listview的回收机制,您应该使用ViewHolder来保存项目视图以进行性能优化并解决像您这样的错误位置问题。