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