码迷,mamicode.com
首页 > 其他好文 > 详细

recycleview中使用checkbox导致的重复选中问题

时间:2016-05-25 16:35:42      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

参考博文:http://www.myexception.cn/mobile/1852852.html 

在使用RecycleView做仿微信图片选择器,其中条目中使用了checkbox,在选中时由于holder的复用,导致checkbox会多选,解决方案如下:

需要两个list一个用来放tag标记,一个用来放置选中的图片路径。

holder.checkBox.setTag(new Integer(position));//防止复用导致的checkbox多选的问题。
        //防止复选的辅助list   checkPositionlist
        if (checkPositionlist != null) {
            holder.checkBox.setChecked((checkPositionlist.contains(new Integer(position)) ? true : false));
        } else {
           holder.checkBox.setChecked(false);
        }

        holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                 if(isChecked){
                     if(!checkPositionlist.contains(holder.checkBox.getTag()))
                     {
                         checkPositionlist.add(new Integer(position));
                         checkedImgs.add(currentImgPath);
                     }
                 }else {
                     if(checkPositionlist.contains(holder.checkBox.getTag())){
                         checkPositionlist.remove(holder.checkBox.getTag());
                         checkedImgs.remove(currentImgPath);
                     }
                 }
            }
        });

 

recycleview中使用checkbox导致的重复选中问题

标签:

原文地址:http://www.cnblogs.com/epmouse/p/5527508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!