我有一个要求,其中显示特定设置的复选框。当用户点击复选框时,我想显示一个警报对话框。只有当用户点击确认按钮(或类似按钮)时,复选框才会更改。
我的观点是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;
}
});
Run Code Online (Sandbox Code Playgroud)
然后调用checkbox.setChecked(true);或checkbox.setChecked(false);作为用户选择是或否。`
| 归档时间: |
|
| 查看次数: |
2569 次 |
| 最近记录: |