Android UI 基本 オンオフ切り替え[CheckBox]

この記事は2016年9月12日に書かれたものです。内容が古い可能性がありますのでご注意ください。


Androidアプリを作る上で必要な基本的なUIの使い方を解説します。

CheckBox

ユーザにアプリの機能のオンオフを選択してもらうような場面で使えるウィジェットがCheckBoxです。

レイアウトファイルにCheckbox要素を配置します。

...
    <CheckBox
        android:id="@+id/checkbox"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="オンオフを切り替えます"/>
...

どの機能に応じたチェックなのかはtext属性に指定してあげれば良いですね。

android_checkbox

ユーザの操作によりオンオフが切り替わったイベントは、
CompoundButton.OnCheckedChangeListenerインターフェースを実装して
CheckBoxに渡してあげることで検知することができます。
(CompoundButtonはCheckBoxの親クラス)

        CheckBox checkBox = (CheckBox) findViewById(R.id.checkbox);
        checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
                if (isChecked) {
                    //チェックが入った時の処理
                } else {
                    //チェックが外れた時の処理
                }
            }
        });

onCheckedChangedメソッドがチェックが変更された時に呼ばれます。
ここでポイントは、onCheckedChangedメソッドの第二引数であるboolean isCheckedが
「現在チェックが入っているかどうか」の真偽値である点です。
つまりチェックが入った時はtrueが、チェックが外れた時はfalseが返ります。

また、変更イベントではなく現在のチェックの状態を取得したい時はCheckBox#isChecked()を呼べばOKです。
チェックの有無がbooleanで返ってきます。

        boolean isChecked = checkBox.isChecked();
  • このエントリーをはてなブックマークに追加

PAGE TOP