【Android Tips】CheckBoxPreferenceを複数配置する
どもー。ブンブン丸でーす。
さて今回はTipsです。
久しぶりにPreferenceを使う機会がありまして、いざ試してみると、「あれ? どうだったっけ?」と言う事があったのでそのことを綴りたいと思います。
CheckBoxPreferenceを1画面に複数配置して機能のON/OFFをする設定画面を作っていたのですが、どのチェックボックスがON/OFFされたか判別するのはどうするんだ? となりました。
Google先生に聞いてみても1つの時のやり方は教えてくれても複数のやり方は知らないのか意外と教えてくれません。
と言う事で下記のようにして解決しました。
@Override public boolean onPreferenceChange(android.preference.Preference preference,Object arg1) { if (preference.getKey().equals("checkbox1")) { if (((Boolean)arg1).booleanValue()) { sharedPreferences.edit().putBoolean("checkbox1", true).commit(); } else { sharedPreferences.edit().putBoolean("checkbox1", false).commit(); } return true; }else if (preference.getKey().equals("checkbox2")) { if (((Boolean)arg1).booleanValue()) { sharedPreferences.edit().putBoolean("checkbox2", true).commit(); } else { sharedPreferences.edit().putBoolean("checkbox2", false).commit(); } return true; }else{ return false; } }
おしまい。
コメントをどうぞ