文档章节

ViewHolder数据错乱BUG

我辈年轻1
 我辈年轻1
发布于 2016/11/03 19:22
字数 251
阅读 6
收藏 0

需求是这样的,在列表中用一个图标标示某个item是已经被接下或者完成的任务。

     对于文件有这样的操作,进入列表后第一页面展示正常,但是加载更多后同样位置出现了同样的标志。这不是我想要的效果

   我的解决办法是在viewholder绑定控件并附值后,添加一个else方法复写之前的内容。

 @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        //获取纳秒时间 更加精确
        ViewHolder holder = new ViewHolder();
        if (convertView == null) {

            //由于我们只需要将XML转化为View,并不涉及到具体的布局,所以第二个参数通常设置为null
            convertView = mLayoutInflater.inflate(R.layout.tasklistitem, null);
            holder.title = (TextView) convertView.findViewById(R.id.task_title);
            holder.explain = (TextView) convertView.findViewById(R.id.task_explain);
            holder.price = (TextView) convertView.findViewById(R.id.task_price);
            holder.faraway = (TextView) convertView.findViewById(R.id.task_distance);
            holder.zhuangtai = (ImageView) convertView.findViewById(R.id.task_zhuangtai_image);
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        // 取出bean对象
        ItemBean bean = mDataList.get(position);
        // 设置控件的数据
        holder.title.setText(bean.itemTitle);
        holder.explain.setText(bean.itemContent);
        holder.price.setText(bean.itemPrice);
        holder.faraway.setText(bean.itemFaraway);
        if(!bean.itemReceiver.equals("null")){
            holder.zhuangtai.setImageResource(R.mipmap.aboutus1);
        }else{
            holder.zhuangtai.setImageResource(R.mipmap.studio);
        }
        return convertView;
    }

如上图。

本文转载自:http://www.cnblogs.com/wobeinianqing/p/5442624.html

我辈年轻1
粉丝 1
博文 85
码字总数 0
作品 0
南京
程序员
私信 提问
RecyclerView中ViewHolder重用机制理解(解决图片错乱和闪烁问题)

转载于csdn苦逼程序员的笔记博客 对于使用ViewHolder引起的图片错乱问题,相信大部分人都有遇到过,我也一样,对于解决方法也有所了解,但一直都是知其然不知其所以然。 所以,这次直接把Vie...

farina
2016/09/12
4.7K
1
HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分网格形成表格状列表,不固定列,每次刷新数据列位置异常错乱变动问题

HorizontalScrollView包裹RecyclerView,使用StaggeredGridLayoutManager均分网格形成表格状列表,不固定列,每次刷新数据列位置异常错乱变动问题 问题描述:用HorizontalScrollView包裹Rec...

zhangphil
2018/05/12
0
0
Android ListView滑动过程中图片显示重复错乱闪烁问题解决

最新内容建议直接访问原文:Android ListView滑动过程中图片显示重复错乱闪烁问题解决 主要分析Android ListView滚动过程中图片显示重复、错乱、闪烁的原因及解决方法,顺带提及ListView的缓...

Trinea
2013/08/07
29.1K
4
android viewHolder处理listView滑动

在没有用viewHolder的情况下,listView表现效率低下。如果加载的数量过多则会一点点的消耗内存,直到抛出oom。开始异步加载图片会出现图片错位的问题,后来查阅资料将holder里边的图片地址和...

风过后
2013/12/11
5K
4
Listview中的嵌套EditView等抢焦点view

上面其实是我为了尝试listview使用缓存 因为是焦点组件,需要记录一些Focus焦点位置,而viewHolder为缓存着复用组件所以每次每次获取到Viewholder 都需要在getview里比较靠前的位置先把里面的...

yizhihaohut
2015/12/25
718
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring使用ThreadPoolTaskExecutor自定义线程池及实现异步调用

多线程一直是工作或面试过程中的高频知识点,今天给大家分享一下使用 ThreadPoolTaskExecutor 来自定义线程池和实现异步调用多线程。 一、ThreadPoolTaskExecutor 本文采用 Executors 的工厂...

CREATE_17
今天
5
0
CSS盒子模型

CSS盒子模型 组成: content --> padding --> border --> margin 像现实生活中的快递: 物品 --> 填充物 --> 包装盒 --> 盒子与盒子之间的间距 content :width、height组成的 内容区域 padd......

studywin
今天
7
0
修复Win10下开始菜单、设置等系统软件无法打开的问题

因为各种各样的原因导致系统文件丢失、损坏、被修改,而造成win10的开始菜单、设置等系统软件无法打开的情况,可以尝试如下方法解决 此方法只在部分情况下有效,但值得一试 用Windows键+R打开...

locbytes
昨天
8
0
jquery 添加和删除节点

本文转载于:专业的前端网站➺jquery 添加和删除节点 // 增加一个三和一节点function addPanel() { // var newPanel = $('.my-panel').clone(true) var newPanel = $(".triple-panel-con......

前端老手
昨天
8
0
一、Django基础

一、web框架分类和wsgiref模块使用介绍 web框架的本质 socket服务端 与 浏览器的通信 socket服务端功能划分: 负责与浏览器收发消息(socket通信) --> wsgiref/uWsgi/gunicorn... 根据用户访问...

ZeroBit
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部