2011-02-23 2 views
21

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

ответ

43

это должно сделать трюк:

 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"); 
+1

отлично .. приветствует sergiu – Tim

+0

эй я тоже создал массив переключателей, но я хочу снять отметку со всех, а затем проверить только один из этого arraylist .. как я могу это сделать ?? – Shruti

+0

благодаря своей работе для меня –

0

Почему вы должны запросить RadioGroup? Почему вы не можете настроить своих слушателей на RadioButton, вы должны быть в состоянии захватить radioButtons, так как вы тот, кто добавляет их в RadioGroup.

Независимо от того, RadioGroup - это особый тип LinearLayout, все его дети - RadioButtons, которые вы добавили. Вы можете прокручивать все дочерние представления для доступа к RadioButtons.

+0

Я создал «RadioGroup» в XML-макете, поэтому все «RadioButton» были частью этого. Я никогда не добавлял их вручную в код. Спасибо за Ваш ответ – Tim

Смежные вопросы