RadioButton
V této části vytvoříte dvě vzájemně se vylučující přepínače (povolení jednoho zakáže druhý přepínač) pomocí tlačítka RadioGroup
A RadioButton
Widgety. Při stisknutí některého přepínače se zobrazí informační zpráva.
Otevřete soubor Resources/layout/Main.axml a přidejte dva RadioButton
s vnořené do (RadioGroup
uvnitř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>
Je důležité, aby RadioButton
se položky seskupily podle RadioGroup
prvku, aby najednou nebylo možné vybrat více než jeden prvek. Tato logika je automaticky zpracována systémem Android. Kdy jeden RadioButton
ve skupině je vybráno, všechny ostatní jsou automaticky zrušeny.
Abychom mohli udělat něco, co RadioButton
je vybráno, musíme napsat obslužnou rutinu události:
private void RadioButtonClick (object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
Toast.MakeText (this, rb.Text, ToastLength.Short).Show ();
}
Nejprve se odesílatel, který je předán, přetypuje do RadioButtonu.
Pak a Toast
zobrazí text vybraného přepínače.
Teď, v dolní části OnCreate()
přidejte následující:
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;
Tím se zachytí každý z RadioButton
nich z rozložení a přidá do každého z nich nově vytvořenou obslužnou rutinu události.
Aplikaci spusťte.
Tip
Pokud potřebujete změnit stav sami (například při načítání uloženého CheckBoxPreference
), použijte Checked
vlastnost setter nebo Toggle()
Metoda.
Části této stránky jsou upraveny na základě práce vytvořené a sdílené opensourcový projekt Androidu a používají se podle podmínek popsaných vlicenci Creative Commons 2.5 Atribution License.