我需要为特定设置显示一个复选框。当用户点击复选框时,我想显示一个警告对话框。只有当用户点击确认按钮(或类似按钮)时,复选框才会发生变化。
我的观点是,OnCheckedChanged
监听器仅在复选框状态更改后触发,而我想在它更改状态之前监听点击。
最佳答案
您可以使用 onTouchListener
并拦截 ACTION_DOWN
事件来显示警报。
在用户选择上以编程方式更改复选框的选中状态。
例子:
checkbox.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
//show alert
return true; //this will prevent checkbox from changing state
}
return false;
}
});
然后在用户选择是或否时调用 checkbox.setChecked(true);
或 checkbox.setChecked(false);
。`
关于Android复选框在更改前监听点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33076697/