[Android Studio] CheckBoxのオンオフを切り替えてトーストを出す

どうも、tatsuです!

今日は、CheckBoxのオンオフを切り替えてトーストを出すやり方を説明します。

※この記事で使用しているAndroid Studioのバージョンは2.3.3です。

CheckBoxのオンオフを切り替えてトーストを出す

activity_main.xml

activity_main.xmlは以下のようにします。

    <CheckBox
        android:id="@+id/check"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="チェックしてね"
        android:textSize="20sp"/>

MainActivity.java

MainActivity.javaは以下のようにします。

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // idがcheckのチェックボックスを取得
        CheckBox checkBox = (CheckBox) findViewById(R.id.check);
        // checkBoxのオンオフが切り替わった時の処理を設定
        checkBox.setOnCheckedChangeListener(
                new CompoundButton.OnCheckedChangeListener(){
                    public void onCheckedChanged(CompoundButton comButton, boolean isChecked){
                        // 表示する文字列をチェックのオンオフで変える
                        String displayChar = "";
                        // チェックされていたら
                        if(isChecked){
                            displayChar = "チェックされています!";
                        }
                        // チェックされていなかったら
                        else{
                            displayChar = "チェックされていません・・・";
                        }
                        Toast toast = Toast.makeText(MainActivity.this, displayChar, Toast.LENGTH_LONG);
                        toast.show();
                    }
                }
        );
    }
}

クリックした結果

※↓チェックをオンにした場合

※↓チェックをオフにした場合

補足

CheckBoxでもTextViewの時のようにOnClickイベントを使用することが可能ですが、推奨しません。
なぜなら、プログラムのほうからチェックのオンオフを切り替えることもあるからです。
なのでCheckBoxを使用するときはOnClickではなく、OnCheckedChangeを使用しましょう。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です