Freigeben über


RadioButton

In diesem Abschnitt erstellen Sie zwei sich gegenseitig ausschließende Optionsfelder (durch aktivieren eines deaktiviert das andere).RadioGroup undRadioButton Widgets. Wenn ein Optionsfeld gedrückt wird, wird eine Popupmeldung angezeigt.

Öffnen Sie die Datei Resources/layout/Main.axml , und fügen Sie zwei RadioButtons hinzu, geschachtelt in einem RadioGroup (innerhalb von 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>

Es ist wichtig, dass die RadioButton-Elemente durch das RadioGroup -Element gruppiert werden, sodass nicht mehr als ein Element gleichzeitig ausgewählt werden kann. Diese Logik wird automatisch vom Android-System verarbeitet. Wenn einRadioButton innerhalb einer Gruppe ausgewählt wird, werden alle anderen automatisch deaktiviert.

Um etwas zu tun, wenn jede RadioButton ausgewählt ist, müssen wir einen Ereignishandler schreiben:

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

Zunächst wird der absender, der übergeben wird, in ein RadioButton umgewandelt. Dann einToast in der Meldung wird der Text des ausgewählten Optionsfelds angezeigt.

Nun, am unteren Rand derOnCreate() fügen Sie Folgendes hinzu:

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;

Dadurch werden alle RadioButtons aus dem Layout erfasst und jedem der neu erstellten Ereignishandler hinzugefügt.

Führen Sie die Anwendung aus.

Tipp

Wenn Sie den Zustand selbst ändern müssen (z. B. beim Laden eines gespeicherten CheckBoxPreference), verwenden Sie dieChecked Eigenschaftensetter oderToggle() -Methode.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source-Projekt erstellt und freigegeben wurden und gemäß den in derCreative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.