所以当我在应用UI中检查一个复选框时,我试图让它禁用或启用bool,如下所示
/** called when the user clicks the enable checkbox field for enabling Subtraction Problems **/
public void BoolSubProb(View view) {
if(SubProb = false) {
SubProb = true;
}
else if(SubProb = true) {
SubProb = false;
}
}
但是,我似乎无法得到它只会在其错误时启用bool或在用户选中复选框时禁用bool时为true。 它只是通过循环,最终再次变为虚假。
答案 0 :(得分:0)
您需要获取一个应该以XML格式定义的复选框实例。然后,向其添加一个OnCheckedChangeListener。
示例代码:
CheckBox mCheckbox = (CheckBox) findViewById(R.id.yourCheckboxInXML);
mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
//do something if it's checked
} else {
//do something if it's not checked
}
}
});
此外,在比较布尔值时请提出建议:不要使用单个等号...使用double。
//Incorrect
if (myBoolean = true)
//Correct
if (myBoolean == true)
编辑:如果您正在使用片段,请确保在findViewById()方法调用之前调用getView()。
代码:
CheckBox mCheckbox = (CheckBox) getView().findViewById(R.id.yourCheckboxInXML);
mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
if (b) {
//do something if it's checked
} else {
//do something if it's not checked
}
}
});