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

发布于 2016-11-06 20:10:42 字数 250 浏览 1300 评论 1

有人提供了一种解决方案:其实是缓存的问题,converview 的问题,不使用 converview 每次 getview 的时候都是 View

view=inflater.inflate(R.layout.list_category_magazine_item, null);

获取一个新的 view 是没有问题的,把复用的 convertview 的代码注掉就行了` 历史缓存导致的,如要缓存必须自己重新构建一个新的缓存,正在想着如何构建新缓存。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

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

评论(1

清晨说ぺ晚安 2017-03-03 17:44:28

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

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;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文