Androidアプリを作る上で必要な基本的なUIの使い方を解説します。
CheckBox
ユーザにアプリの機能のオンオフを選択してもらうような場面で使えるウィジェットがCheckBoxです。
レイアウトファイルにCheckbox要素を配置します。
... <CheckBox android:id="@+id/checkbox" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="オンオフを切り替えます"/> ...
どの機能に応じたチェックなのかはtext属性に指定してあげれば良いですね。
ユーザの操作によりオンオフが切り替わったイベントは、
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();