Android-问一下:list显示数据的时候,有时候某一项的图片,会错位,过一会,从网络取得了图片,就会还原过来了。 这是什么原因啊?

Android-问一下:list显示数据的时候,有时候某一项的图片,会错位,过一会,从网络取得了图片,就会还原过来了。 这是什么原因啊?

瑾兮 发布于 2016-11-06 字数 372 浏览 1198 回复 1

有人提供了一种解决方案:

其实是缓存的问题,converview的问题,不使用converview 每次getview的时候都是View view=inflater.inflate(R.layout.list_category_magazine_item,
null);获取一个新的view是没有问题的,把复用的convertview的代码注掉就行了` 历史缓存导致的

如要缓存必须自己重新构建一个新的缓存,正在想着如何构建新缓存

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

清晨说ぺ晚安 2017-03-03 1 楼

这个是正规的使用缓存的方法,你比较一下有何区别:

public class ViewHolder {
public TextView tv = null;
public progressBar pb= null;
//再加其他子view

}
ViewHolder holder = null;
if(null == rowView){
vh = new ViewHolder;
rowView = mInflater.inflate(R.layout.list_child_footer, null);
vh.tv = rowView.findViewById(R.id.footer_main_text);
vh.pb = rowView.findViewById(R.id.footer_progress);
rowview.setTag(vh)
}else{
holder = rowView.getTag();
}
vh.pb.setVisibility(View.VISIBLE);
vh.tv.setText("Loading...");

return rowView;