关于ViewHolder复用,我就不说明了,关键是复用导致出现的问题
网络的好坏,我们请求的图片并不是很稳定,那么我们假设一屏可以显示6条数据,利用复用,我们的第7条数据view就是我们的第1条数据view,随之手势不断的滑动,复用的问题,就出现,特别是上网请求网络图片, 我们在显示第7条数据时,图片还是第1个数据图片,因为第7条很可以没有加载完成,导致view复用,图片错乱,那么如何解决呢
- 给每个 ImageView设置tag ,tag 的内容就是唯一的url
- 异步加载类中输入url
- 在异步加载类,完成后,对比ImageView的tag与url是否一致
- 一致就设置图片,不一致,就不设置,同时setImageBitmap(null)来解决闪烁问题
public class Myadapter extends BaseAdapter {
private List<Info.DataBean> list;
public Myadapter(List<Info.DataBean> list) {
this.list = list;
}
@Override
public int getCount() {
return list == null ?