チェックボックスとラジオボタン
アプリケーションでは、さまざまなインターフェイスが用いられます。androidにも、多くのGUI用のビュー(部品)が用意されています。それらの中から基本的なものについて、使ってみることにしましょう。
まずは、チェックボックスとラジオボタンです。チェックボックスは、<CheckBox>というタグで用意することができます。これは非常に単純ですね。
ラジオボタンの場合には、複数のボタンをグループ化して選択できなければいけません。このため、グループを作成する<RadioGroup>を用意し、その中に<RadioButton>タグを用意して作成をします。これにより、グループ内のボタンが常に1つだけ選択されるようになります。
Javaのクラス内からこれらを操作する場合には、findViewByIdで得たオブジェクトを「CheckBox」「RadioButton」クラスにキャストして利用します。選択状態は、これらの「getChecked」「setChecked」メソッドで操作することができます。getCheckedは現在のチェック状態を真偽値で返し、setCheckedは真偽値を引数に指定して選択状態を変更します。
また、ラジオボタンに関しては、「現在、どのボタンが選択されているか」ということを調べる必要もあるでしょう。これは、ラジオボタンではなく、RadioGroupで調べることができます。RadioGroupの「getCheckedRadioButtonId」というメソッドを呼び出すことで、選択されているラジオボタンのIDを取得できます。
実際に、簡単な利用例を挙げておきましょう。
※main.xml
<CheckBox
android:id="@+id/check1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/check1"
/>
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<RadioButton
android:id="@+id/radio1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/radio1"
/>
<RadioButton
android:id="@+id/radio2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/radio2"
/>
</RadioGroup>
※MyAndyクラスのonCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView text1 = (TextView) findViewById(id.text1);
final CheckBox check1 = (CheckBox)findViewById(id.check1);
final RadioButton radio1 = (RadioButton)findViewById(id.radio1);
final RadioButton radio2 = (RadioButton)findViewById(id.radio1);
check1.setChecked(true);
radio1.setChecked(true);
}
ラジオボタンとチェックボックスの利用例。 |