Androidのラジオグループの使い方について

2019年5月16日

RadioGroupはどこで使うのか

このページをご覧の皆さんはラジオボタンはご存知でしょうか?

会員情報を入力する画面などで、男性、女性などの複数の選択肢から、

一つの選択肢を選択する場合によく使われるボタンのことです。

 

ラジオグループは、複数のラジオボタンを縦並び又は

横並びに定義する際に使用するコンポーネントのことです。

 

XmlにRadioGroup及び、RadioButtonを定義します。

ここで覚えておきたいのが、ラジオボタンを

横並びにするときは、 android:orientation = “horizontal”
縦並びにするときは、 android:orientation =”vertical”

とすることです。

<radiogroup>
            android:id="@+id/rdoGroup"
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:layout_alignLeft="@+id/textView1"
            android:layout_below="@+id/textView1"
            android:orientation="horizontal"
            android:background="@drawable/sex_bg" >
            android:id="@+id/rdoItem1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="@string/sex_man"
            android:id="@+id/rdoItem2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/sex_woman"
</radioGroup>

 

 

次にJavaコードでRadioGroupの割り当て等を行う

//ラジオグループの割り当て
     RadioGroup group = (RadioGroup)getActivity().findViewById(R.id.rdoGroup);
     group.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
     @Override
     public void onCheckedChanged(RadioGroup group, int checkedId) {
          // チェックされた状態の時の処理を記述
          RadioButton radio = (RadioButton)getActivity().findViewById(checkedId);
          if(radio.isChecked() == true){
               if(getActivity().findViewById(checkedId) == getActivity().findViewById(R.id.rdoItem1)){
                    Log.d("男性が選択されました");
                    mPrefs.edit().putInt("sex_type", MAN).commit();
               }else{
          Debug.Log("女性が選択されました");
          mPrefs.edit().putInt("sex_type", WOMAN).commit();
          }
     }
     });

以上です