Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 复选框中的OnclickListener(Android Studio)_Java_Android_Checkbox_Onclicklistener - Fatal编程技术网

Java 复选框中的OnclickListener(Android Studio)

Java 复选框中的OnclickListener(Android Studio),java,android,checkbox,onclicklistener,Java,Android,Checkbox,Onclicklistener,以下是我的部分代码,其中包括复选框(ChckBoxNo): 首先,我在复选框上为isChecked()方法设置true,然后在复选框上实现onclicklistener。 当我运行应用程序时,复选框被选中,正如我定义的那样,但当我单击复选框时,它被取消选中,然后立即再次选中(我没有再次选中复选框!) 我应该做些什么来修复这个问题,我的代码中有什么错误? 谢谢 您正在与复选框作斗争。复选框改变状态是标准行为,你不需要自己去做 删除setChecked true和false,并将有用的内容粘贴到此处

以下是我的部分代码,其中包括复选框(ChckBoxNo):

首先,我在复选框上为isChecked()方法设置true,然后在复选框上实现onclicklistener。 当我运行应用程序时,复选框被选中,正如我定义的那样,但当我单击复选框时,它被取消选中,然后立即再次选中(我没有再次选中复选框!) 我应该做些什么来修复这个问题,我的代码中有什么错误?
谢谢

您正在与复选框作斗争。复选框改变状态是标准行为,你不需要自己去做


删除setChecked true和false,并将有用的内容粘贴到此处)

复选框将自动处理“检查”过程-您不必为标准用法自行管理此过程


从文档中签出。在这里,当捕捉到单击事件时,它们正在基于
isChecked()
状态执行操作。

您不需要将选中状态设置为您已单击的状态

您应该在特定状态下处理一些其他操作。

尝试以下操作:

checkBox = (CheckBox) findViewById(R.id.checkBox);
            checkBox.setChecked(checkPasswordExist());
            checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (checkBox.isChecked()) {
                        // your code to checked checkbox                        
                        }
                    } else {
                        // your code to  no checked checkbox
                    }
                }
            });

如果你只是想知道状态何时改变,那么就设置一个OnCheckChangedListener。这就引出了另一个问题:这应该是一个提示,提示你需要调查并创建另一个问题,这不是一个论坛
checkBox = (CheckBox) findViewById(R.id.checkBox);
            checkBox.setChecked(checkPasswordExist());
            checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (checkBox.isChecked()) {
                        // your code to checked checkbox                        
                        }
                    } else {
                        // your code to  no checked checkbox
                    }
                }
            });