zoukankan      html  css  js  c++  java
  • ListView中CheckBox错乱解决

    思路:
    ListView在复用的时候会出现很多问题,CheckBox状态会出现错乱,解决思路:
    1.使用Map集合的键值对的形式来存放position位置上CheckBox的状态
    2.监听CheckBox的状态改变Listener,如果选中就往Map中添加一个position,true  如果取消,则将map中对应的键值对移除。

    直接代码:

     
    private Map<Integer, Boolean> isCheckMap =  new HashMap<Integer, Boolean>();  
     
     
    holder.check,setTag(position);
    if (isCheckMap!= null  && isCheckMap.containsKey(position)) {
                holder.checkBox.setChecked(isCheckMap.get(position));
            }else {
                holder.checkBox.setChecked(false);
            } 
     
     
     holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                    @Override
                    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                            if(isChecked)
                            {
                                //将选中的放入hashmap
                                isCheckMap.put(position, isChecked);
                            }
                            else
                            {
                                //取消选中的则剔除
                                isCheckMap.remove(position);
                            }
                    }
                });





  • 相关阅读:
    input只允许输入正整数
    CSS如何作小于1PX的边
    时间戳的处理
    图片转base64上传,视频同理。
    APIcloud微信支付和支付宝支付(方案2,主要在后台进行)
    H5滑条(input type=range)
    checkbox/radio 样式修改
    APIcloud制作APP 微信支付与支付宝支付
    JS获取鼠标左(右)滑事件
    DOM(Document object madle) 文档对象模型: 元素节点 文本节点 属性节点
  • 原文地址:https://www.cnblogs.com/flyme2012/p/3944833.html
Copyright © 2011-2022 走看看