RadioButton
Nesta seção, você criará dois botões de opção mutuamente exclusivos (habilitar um desabilita o outro), usando oRadioGroup
eRadioButton
Widgets. Quando um dos botões de opção for pressionado, uma mensagem do sistema será exibida.
Abra o arquivo Resources/layout/Main.axml e adicione dois RadioButton
s, aninhados em um RadioGroup
(dentro do LinearLayout
):
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton android:id="@+id/radio_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Red" />
<RadioButton android:id="@+id/radio_blue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Blue" />
</RadioGroup>
É importante que os RadioButton
s sejam agrupados pelo RadioGroup
elemento para que não mais do que um possa ser selecionado por vez. Essa lógica é tratada automaticamente pelo sistema Android. Quando umRadioButton
dentro de um grupo é selecionado, todos os outros são desmarcados automaticamente.
Para fazer algo quando cada RadioButton
um é selecionado, precisamos escrever um manipulador de eventos:
private void RadioButtonClick (object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
Toast.MakeText (this, rb.Text, ToastLength.Short).Show ();
}
Primeiro, o remetente que é passado é convertido em um RadioButton.
Em seguida, umToast
A mensagem exibe o texto do botão de opção selecionado.
Agora, na parte inferior doOnCreate()
, adicione o seguinte:
RadioButton radio_red = FindViewById<RadioButton>(Resource.Id.radio_red);
RadioButton radio_blue = FindViewById<RadioButton>(Resource.Id.radio_blue);
radio_red.Click += RadioButtonClick;
radio_blue.Click += RadioButtonClick;
Isso captura cada um dos RadioButton
s do layout e adiciona o manipulador de eventos recém-criado a cada um.
Execute o aplicativo.
Dica
Se você precisar alterar o estado por conta própria (como ao carregar um salvo CheckBoxPreference
), use oChecked
setter de propriedade ouMétodo Toggle()
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Projeto de Software Livre do Android e usadas de acordo com os termos descritos naLicença de Atribuição creative commons 2.5.