次の方法で共有


RadioButton

このセクションでは、相互に排他的な 2 つのラジオ ボタンを作成します (一方を有効にするともう一方が無効になります)。RadioGroup および RadioButton ウィジェット。 いずれかのラジオ ボタンを押すと、トースト メッセージが表示されます。

Resources/layout/Main.axml ファイルを開き、(LinearLayout の内部) に RadioGroup に入れ子になった 2 つの RadioButton を追加します:

<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>

一度に複数の要素を選択できないように、RadioGroup 要素を使用して RadioButton をグループ化しておくことが重要です。 このロジックは、Android システムによって自動的に処理されます。 1 つの RadioButton がグループ内で選択されている場合、それ以外はすべて自動的に選択解除されます。

それぞれの RadioButton が選択されたときに何かを行うには、イベント ハンドラーを記述する必要があります:

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

まず、渡されるセンダーは RadioButton にキャストされます。 次に Toast メッセージに、選択したラジオ ボタンのテキストが表示されます。

次に、下記メソッドの下部に OnCreate() メソッドに次のコードを追加します:

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;

これにより、レイアウトから各 RadioButton がキャプチャされ、新しく作成されたイベント ハンドラーがそれぞれに追加されます。

アプリケーションを実行します。

ヒント

その状態を自分で変更する必要がある場合 (保存済みの CheckBoxPreference を読み込む場合など) は、次を使用します。Checked プロパティ セッターまたは Toggle() メソッド。

このページの一部は、Android オープンソース プロジェクトによって作成および共有された作業生産物に基づいて変更されており、Creative Commons 2.5 Attribution License に記載されている条件に従って使用されます。