Partager via


RadioButton

Dans cette section, vous allez créer deux cases d’option mutuellement exclusives (l’activation de l’une désactive l’autre), à l’aide deRadioGroup etRadioButton Widgets. Lorsque l’une des cases d’option est enfoncée, un message toast s’affiche.

Ouvrez le fichier Resources/layout/Main.axml et ajoutez deux RadioButtons, imbriqués dans un RadioGroup (à l’intérieur de ) 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>

Il est important que les RadioButtons soient regroupés par l’élément RadioGroup afin qu’ils ne puissent pas être sélectionnés à la fois. Cette logique est gérée automatiquement par le système Android. Quand onRadioButton dans un groupe est sélectionné, tous les autres sont automatiquement désélectionnés.

Pour effectuer une action lorsque chaque RadioButton est sélectionné, nous devons écrire un gestionnaire d’événements :

private void RadioButtonClick (object sender, EventArgs e)
{
    RadioButton rb = (RadioButton)sender;
    Toast.MakeText (this, rb.Text, ToastLength.Short).Show ();
}

Tout d’abord, l’expéditeur qui est passé est converti en un RadioButton. Ensuite, unToast message affiche le texte de la case d’option sélectionnée.

Maintenant, au bas duOnCreate() , ajoutez les éléments suivants :

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;

Cela capture chacun des RadioButtons de la disposition et ajoute le gestionnaire d’événements nouvellement créé à chacun d’eux.

Exécutez l’application.

Conseil

Si vous devez modifier l’état vous-même (par exemple lors du chargement d’un enregistré CheckBoxPreference), utilisez leChecked setter de propriété ouMéthodeToggle() .

Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Open Source Android et utilisé selon les termes décrits dans lalicence d’attribution Creative Commons 2.5.