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 RadioButtons, 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 RadioButtons 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 RadioButtons 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.