开发时发现每次 setChecked 时会触发onCheckedChanged 监听回调,而有时我们在设置setChecked后不想去自动触发 onCheckedChanged 里的具体操作, 即想屏蔽掉onCheckedChanged;
解决方法
区分是否为人为点击 和 代码setChecked,在监听器中加入一个判断, 代码如下:
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(!buttonView.isPressed()) {
return;
}
......
}