Есть ли способ получить массив (или коллекцию) RadioButton
в Android RadioGroup
? Я хотел бы добавить отдельных прослушивателей в радиокнопки, но я не вижу явного способа их повторения.
Получите массив RadioButtons в RadioGroup на Android
Ответ 1
это должно сделать трюк:
int count = radioGroup.getChildCount();
ArrayList<RadioButton> listOfRadioButtons = new ArrayList<RadioButton>();
for (int i=0;i<count;i++) {
View o = radioGroup.getChildAt(i);
if (o instanceof RadioButton) {
listOfRadioButtons.add((RadioButton)o);
}
}
Log.d(TAG,"you have "+listOfRadioButtons.size()+" radio buttons");
Ответ 2
Зачем вам нужно запрашивать радиогруппу? Почему вы не можете настроить своих слушателей на RadioButton, вы должны уметь удерживать radioButtons, так как вы тот, кто добавляет их в RadioGroup.
Независимо от того, RadioGroup - это просто особый тип LinearLayout, все его дети - это RadioButtons, которые вы добавили. Вы можете прокручивать все дочерние представления для доступа к RadioButtons.