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 RadioButtons vnořené do (RadioGroupuvnitř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 RadioButtonse 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 RadioButtonnich 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.