我发现有时会出现问题,具体取决于用户如何滚动ListView。
基本上我的ListView
项包含一些checkboxes
和SwitchCompat
,它们都在适配器的OnCheckedChangeListener
内设置了getView
。
问题在于,有时在常规滚动期间,当列表只能滚动时,OnCheckedChangeListener
会触发并且值会发生变化。
我应该如何处理?在列表滚动时是否有一种简单的方法可以禁用任何项目的点击?
答案 0 :(得分:1)
滚动时,getView
会执行,会触发OnCheckedChangeListener
方法。
vhold.checkbox.setOnCheckedChangeListener(null);
if(chonditionforchecking) {
vhold.checkbox.setChecked(true);
} else {
vhold.checkbox.setChecked(false);
}
此link
还有更多解决方案