【发布时间】:2021-10-05 20:31:59
【问题描述】:
所以我做了七个RadioButtons。有两组。前三后四!如果两个组都被选中,我想启用“提交”按钮。但问题是即使我选中其中一个单选按钮,它也会启用该按钮。所以基本上它忽略了and(&&) 声明。这是我的代码:
public void onRadioButtonClicked(View view) {
boolean checked = ((RadioButton) view).isChecked();
boolean checkeds = ((RadioButton) view).isChecked();
if(!thirty.isChecked() || !fourty.isChecked() || !fifty.isChecked() && !geo.isChecked() || !eng.isChecked() || !country.isChecked() || !movi.isChecked()){
submit.setEnabled(true);
}else{
submit.setEnabled(false);
}
switch (view.getId()) {
case R.id.thirty:
if (checked) {
scorelimit = 3;
fourty.setChecked(false);
fifty.setChecked(false);
}break;
case R.id.fourty:
if (checked) {
scorelimit = 4;
thirty.setChecked(false);
fifty.setChecked(false);
}break;
case R.id.fifty:
if (checked) {
scorelimit = 5;
thirty.setChecked(false);
fourty.setChecked(false);
}break;
}
switch (view.getId()) {
case R.id.geo:
if (checkeds) {
gamemode = 3;
eng.setChecked(false);
country.setChecked(false);
movi.setChecked(false);
}break;
case R.id.eng:
if (checkeds) {
gamemode = 4;
geo.setChecked(false);
country.setChecked(false);
movi.setChecked(false);
}break;
case R.id.country:
if (checkeds) {
gamemode = 5;
geo.setChecked(false);
eng.setChecked(false);
movi.setChecked(false);
}break;
case R.id.movi:
if (checkeds) {
gamemode = 6;
geo.setChecked(false);
eng.setChecked(false);
country.setChecked(false);
}break;
}
}
【问题讨论】:
标签: java android radio-button logical-operators