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 RadioButton
s, 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 RadioButton
s 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 RadioButton
s 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.