Androidでラジオボタン
Androidでラジオボタンを使うには
RadioButtonを使う
RadioButtonはいくつでも設置できるけど
同グループと判断するためには
RadioGroupを使って
RadioButtonを覆う必要がある
このあたりはjQueryMobileやっていると
概念的にわかりやすい
まず、レイアウトファイルで
RadioGroupの中へ
RadioButtonを設置する
<RadioGroup android:id="@+id/radiogroup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"> <RadioButton android:id="@+id/rbtn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ボタン1"/> <RadioButton android:id="@+id/rbtn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:text="ボタン2"/> <RadioButton android:id="@+id/rbtn3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="ボタン3"/> </RadioGroup>
次に、Javaでクリックイベント取得
RadioButtonのクリックイベント取得には
RadioButtonへ
setOnCheckedChangeListener
をセットして
クリックしたRadioButtonのidを判別する
RadioGroup radioGroup = (RadioGroup)findViewById(R.id.radiogroup); radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener(){ public void onCheckedChanged(RadioGroup group, int checkedId){ RadioButton rbtn = (RadioButton)findViewById(checkedId); Toast.makeText(MainActivity.this, rbtn.getText()+"をタップしました", Toast.LENGTH_SHORT).show(); } });
このように、処理するときにも
RadioGroupでまず判定して
そして各種ボタンが押されたときの処理を書く
今回は単純に押されたボタンをToastで表示
また、スマホの画面ではあまりやらなさそうだけど
タブレットなどの大きな画面で
ラジオボタンを横向にするなら
RadioGroupの
orientation=””
でhorizontalを設定すればいい
デフォルトでは、verticalなので縦向きになる