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 に記載されている条件に従って使用されます。