Android复选框在更改前监听点击

标签 android checkbox

我需要为特定设置显示一个复选框。当用户点击复选框时,我想显示一个警告对话框。只有当用户点击确认按钮(或类似按钮)时,复选框才会发生变化。

我的观点是,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/

相关文章:

android - Android登录Facebook成功后如何结转数据

javascript - jQuery - 获取每个复选框内的下一个元素

jquery - 如何通过选中/取消选中一个复选框来选中和取消选中 html 表中的所有复选框?

android - 在 AsyncTask 中跟踪文件下载的进度

java - 选中/取消选中 CheckboxCell,单击一行 - GWT

jquery - 如果选中复选框,则仅更改该元素的样式

python - selenium python webdriver 有没有办法断言所有复选框都已选中或未选中?

android - fragment 内的 QR 扫描器

java - SharedPreferences 始终返回自定义对象的默认值

java - 检查参数中的类是否等于(instanceOf)所需的类。尝试创建通用类