从品牌网站建设到网络营销策划,从策略到执行的一站式服务
今天在做一个含有CheckBox 的ListView时,发现当初始化CheckBox的状态后, 滚动ListView,其中CheckBox 的选中状态不停的发生变化。最后发现原因是 ListView滚动时自动调用 onCheckedChanged 导致的。在查看了各种博客的解决办法后,国外的网站上有一个办法解决了我的问题。写下来分享一下。
创新互联公司主要从事做网站、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务博兴,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
在自定义Adapter的getView方法中这样写就行了。
//在初始化CheckBox状态和设置状态变化监听事件之前,先把状态变化监听事件设置为null holder.checkBox.setOnCheckedChangeListener(null); //然后设置CheckBox状态 if(isChecked) { holder.checkbox.setChecked(true); } else { holder.checkbox.setChecked(false); } //然后设置状态变化监听事件 holder.checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener(){ @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if(isChecked){ //... }else{ //.... } } });
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图