Подтвердить что ты не робот

Получите массив RadioButtons в RadioGroup на Android

Есть ли способ получить массив (или коллекцию) RadioButton в Android RadioGroup? Я хотел бы добавить отдельных прослушивателей в радиокнопки, но я не вижу явного способа их повторения.

4b9b3361

Ответ 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.