我要做一个listView全选的功能,我实在adapter中的getView设置全选的,但是我全选以后,在勾选掉其中一项,当多次滑动的时候就有可能勾掉的那个又呗选上了,非常不解mViewHolder.check_mess.setChecked(items.get(position).isSelect()); items.get(position).isSelect()中存储了选中状态listviewcheckbox 全选

解决方案 »

  1.   

    http://bbs.csdn.net/topics/390527781  参考一下这个帖子
      

  2.   

    终于解决了,原因是 我之前使用的 checkbox监听是OnCheckedChangeListener 在listView滚动的时候由于共享当前的列表(ListView为了节省资源),会触发OnCheckedChangeListener,解决方法checkbox使用setOnClickListener监听mViewHolder.check_mess.setOnClickListener(new OnClickListener()
                {
                    
                    @Override
                    public void onClick(View v)
                    {
                        items.get(position).setSelect(((CheckBox) v).isChecked());
                        changeButtonText(getSelectCount());
                    }
                });至于为什么会把勾选掉的重新至为true我只是大致的理解,希望有人能给与系统的分析