RadioButton
W tej sekcji utworzysz dwa wzajemnie wykluczające się przyciski radiowe (włączenie jednego wyłącza drugiego), używając RadioGroup
I RadioButton
Widżety. Po naciśnięciu dowolnego przycisku radiowego zostanie wyświetlony wyskakowany komunikat.
Otwórz plik Resources/layout/Main.axml i dodaj dwa RadioButton
s zagnieżdżone w RadioGroup
obiekcie (wewnątrz elementu 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>
Ważne jest, aby RadioButton
te elementy zostały zgrupowane razem przez RadioGroup
element, aby jednocześnie nie można było wybrać więcej niż jednego elementu. Ta logika jest automatycznie obsługiwana przez system Android. Kiedy jeden RadioButton
w obrębie grupy jest zaznaczona, wszystkie inne zostaną automatycznie anulowane.
Aby zrobić coś po wybraniu każdego RadioButton
z nich, musimy napisać procedurę obsługi zdarzeń:
private void RadioButtonClick (object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
Toast.MakeText (this, rb.Text, ToastLength.Short).Show ();
}
Po pierwsze, nadawca, który jest przekazywany, jest rzutowany do RadioButton.
Następnie Toast
komunikat wyświetla tekst zaznaczonego przycisku radiowego.
Teraz w dolnej części OnCreate()
metoda, dodaj następujące elementy:
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;
Spowoduje to przechwycenie każdego z RadioButton
elementów z układu i dodanie nowo utworzonej procedury obsługi zdarzeń do każdego z nich.
Uruchom aplikację.
Napiwek
Jeśli musisz zmienić stan samodzielnie (na przykład podczas ładowania zapisanego CheckBoxPreference
elementu ), użyj Checked
właściwość setter lub Toggle()
Metoda.
Części tej strony to modyfikacje oparte na pracy utworzonej i udostępnionej przez projekt open source systemu Android i używane zgodnie z warunkami opisanymi wlicencji autorstwa Creative Commons 2.5.