Pergunta

Estou tentando projetar um layout do Android que se parecerá com o seguinte:

Entity1
option1 for Entity1
option2
...
optionN
Entity2
option1 for Entity2
...
optionN
Entity3

...

Com o requisito de que, para cada entidade, uma e apenas uma opção seja permitida.

E eu decidi usar o botão de rádio com a intenção de usar o radiograma para aplicar isso. Eu projetei da seguinte maneira para alcançar o acima:

<table layout>
    <TextView, content = "Entity1"/>
    <TextView, content = "option1 for Entity1"/> <RadioButton/>
    <TextView, content = "option2"> <RadioButton/>
   ...
</table layout>

E o código pseudo seria:

 RadioGroup raGroup = createEmptyRaGroup()
    ...
    row = new TableRow(); 
    row.add(TextView-entity1);  
    row.add(TextView-op1ForEntity1); 
    RadioButtton raBtn = createRadioButton(); 
    raGroup.addView(raBtn); 
    row.addView(raBtn);  
    ...

E o problema que estou tendo é que não consigo agrupar os botões de rádio em um radiogroup para que apenas uma opção seja selecionada. Em tempo de execução, o Android reclama que o botão de rádio deve ser um filho direto da linha. Se eu adicionar o botão de rádio à linha primeiro, adicionar o botão de rádio ao grupo de rádio primeiro lançaria um erro de tempo de execução semelhante.

Alguém pode me aconselhar como alcançar o efeito do radiogrupo usando o design acima ou não?

Obrigado rapazes.

Foi útil?

Solução

Por que não usar apenas o radiograma dentro do layout, como a seguir:

<RadioGroup
    android:id="@+id/RadioGroup01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

<RadioButton 
    android:text="Choice 1"
    android:id="@+id/RadioButton01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>

<RadioButton
    android:text="Choice 2"
    android:id="@+id/RadioButton02" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>
</RadioGroup>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top