【发布时间】:2018-03-08 17:38:25
【问题描述】:
当用户从无线电组中分别选择男性、女性或未分类时,我想将字符串变量值设置为 1,2,3。
现在我正在这样做,但即使我选择了一个单选按钮,它也会将变量值设置为null
代码:
RadioGroup genderGroup;
RadioButton male, female, unclassified;
String strGender;
genderGroup = findViewById(R.id.genderGroup);
male = findViewById(R.id.genderMale);
female = findViewById(R.id.genderFemale);
unclassified = findViewById(R.id.genderUnclassified);
if (genderGroup.getCheckedRadioButtonId() == -1) {
strGender = null; //no buttons selected
} else {
if (male.isChecked()) { // one of the radio buttons is checked
strGender = "1";
} else if (female.isChecked()) {
strGender = "2";
} else if (unclassified.isChecked()) {
strGender = "3";
}
}
当我在选择任何单选按钮后打印该值时,它显示为空。 如果你知道怎么做,请帮忙:)谢谢。
已解决感谢 Nilesh。 正确的代码是:
genderGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if (checkedId == R.id.genderMale) {
strGender = "1";
} else if (checkedId == R.id.genderFemale) {
strGender = "2";
}
}
});
【问题讨论】:
标签: android radio-button radio radio-group