我的布局中有16个Radio Group,我有40个Radio Button。我想在Radio Groups中取消选中哪个单选按钮。我想知道我怎么知道我的布局中有没有未经检查的单选按钮谢谢
答案 0 :(得分:1)
您应该将所有按钮分组,如下所示:
RadioGroup rg = (RadioGroup) findViewById(R.id.my_radio_group);
List<RadioButton> radioButtonsList = new ArrayList<>();
for(int i = 0; i < rg.getChildCount(); ++i) {
RadioButton b = rg.getChildAt(i);
if(b.isChecked()) radioButtonsList.add(b);
}
为所有群组执行此操作,并且您将在列表中包含所有未经检查的按钮。
您也可以使用:
int checkedRadioButtonId = rg.getCheckedRadioButtonId()
只获取已选中按钮的ID。
答案 1 :(得分:0)
答案 2 :(得分:0)
ArrayList<RadioGroup> radioGroupList = new ArrayList<RadioGroup>();
RadioGroup group1 = (RadioGroup)findViewById(...);
RadioGroup group2 = (RadioGroup)findViewById(...);
.
.
RadioGroup group16 = (RadioGroup)findViewById(...);
radioGroupList.add(group1);
radioGroupList.add(group2);
.
.
radioGroupList.add(group16);
以后您可以使用此
检查选中的内容 for(RadioGroup radioButtonGroup:RadioGroupList){
int radioButtonID = radioButtonGroup.getCheckedRadioButtonId();
View radioButton = radioButtonGroup.findViewById(radioButtonID);
int idx = radioButtonGroup.indexOfChild(radioButton);
}
或者如果它是您感兴趣的RadioButtons然后以相同的方式将它们添加到ArrayList中并像这样在该列表中循环
for(RadioButton radioButton:radioButtonList){
boolean isChecked = radioButton.isChecked();
}