概要
android.widget パッケージ - RadioGroup クラス、
android.widget パッケージ - RadioButton クラスを使用します。
ソースコード
package com.adakoda.android.radiobuttonsample;
import android.app.Activity;
import android.os.Bundle;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import com.adakoda.android.radiobuttonsample.R.id;
public class RadioButtonSampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RadioGroup radioGroup = (RadioGroup) findViewById(id.radiogroup);
// 指定した ID のラジオボタンをチェックします
radioGroup.check(id.radiobutton_green);
// チェックされているラジオボタンの ID を取得します
RadioButton radioButton = (RadioButton) findViewById(radioGroup.getCheckedRadioButtonId());
// ラジオグループのチェック状態が変更された時に呼び出されるコールバックリスナーを登録します
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
// ラジオグループのチェック状態が変更された時に呼び出されます
// チェック状態が変更されたラジオボタンのIDが渡されます
public void onCheckedChanged(RadioGroup group, int checkedId) {
RadioButton radioButton = (RadioButton) findViewById(checkedId);
Toast.makeText(RadioButtonSampleActivity.this,
"onCheckedChanged():" + radioButton.getText(),
Toast.LENGTH_SHORT).show();
}
});
}
}
リソース
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RadioGroup android:id="@+id/radiogroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<RadioButton android:id="@+id/radiobutton_red"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Red" />
<RadioButton android:id="@+id/radiobutton_green"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Green" />
<RadioButton android:id="@+id/radiobutton_blue"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Blue" />
</RadioGroup>
</LinearLayout>
実行結果