Android RadioGroup проверяет более одной RadioButton? - PullRequest
1 голос
/ 25 ноября 2011

Я использую RadioGroup, добавила RadioButton rdbut к RadioGroup rdgrp, как rdgrp.addView(rdbut).

   for(int j=0;j<3;j++)
   {
         RadioGroup rdgrp = new RadioGroup;
         for(int i=0;i<=10;i++)
         {
             RadioButton rdbut = new RadioButton(this);
             rdbut.setText("RadioButtion"+i);
             rdbut.setId(i);
             rdbut.setTag("somename");
             rdgrp.addView(rdbut);
         }
    }    

приведенный выше код показывает, как я инициализирую радиогруппу и радиокнопку. после запуска этого кода в эмуляторе / мобильном телефоне я могу проверять 2 переключателя одновременно.

В чем может быть проблема?

Ответы [ 3 ]

1 голос
/ 25 ноября 2011

Измените свой код следующим образом.

  RadioGroup rdgrp[] = new RadioGroup[3];

  For(int j=0;j<3;j++)
   {
         RadioButton rdbut[] = new RadioButton[10];
         For(int i=0;i<=10;i++)
         {

             rdbut[i].setText("RadioButtion"+i);
             rdbut[i].setId(j*100+i);
             rdbut[i].setTag("somename");
             rdgrp[j].addView(rdbut[i]);
         }
    } 
0 голосов
/ 25 ноября 2011

Используйте что-то вроде этого XML-дизайна в файле пользовательского макета.

   <TableLayout
            android:id="@+id/tbl_layoutchoice"
            style="@style/InfoTableView"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dip" >

            <RadioGroup
                android:id="@+id/SelectLayout_Group"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content" >
            </RadioGroup>
 </TableLayout>

и для использования этой радиогруппы в методе OnCreate () в Activity и findView следующим образом

 mRadioGroup = (RadioGroup) this.findViewById(R.id.SelectLayout_Group);

, а затем используйте приведенный ниже код с требуемым изменением, чтобы добавить радиокнопку в одну радиогруппу. Также используйте ниже код требования для динамического создания радиокнопки.

     ArrayList<String> layoutlist = new ArrayList<String>(3);
     int index = -1;
     LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT,
        LayoutParams.WRAP_CONTENT);


   for (String layout : layoutlist) {
        RadioButton r = new RadioButton(this);
        index++;
        r.setText(layout);
        r.setId(index);
        r.setLayoutParams(lp);
        r.setTextAppearance(this, R.style.TextBase);


        mRadioGroup.addView(r);


    }

Так что не забудьте добавить свое String Value в макет списка перед циклом for .and R.style - это некоторый стиль Require Style для отображения текста в RadioButton.

0 голосов
/ 25 ноября 2011

Вы создали три разные радиогруппы . Вы можете выбрать только одну радиокнопку из одной группы. Таким образом, из трех групп вы можете выбрать три кнопки Но нет никаких межгрупповых отношений. Вы можете выбрать радио кнопки из другой группы одновременно. В вашем случае вы можете выбрать три кнопки на макс.

Спасибо Сунил

...