2012-05-09 5 views
0

私は好みでは1つのチェックボックスを持っていると私は値環境設定から価値を得るには?

SharedPreferences myPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

好みから私のチェックボックスがデフォルトでチェックされますと、私があれば、ユーザーの変更]チェックボックスの状態を確認するために、この

if(myPreferences.getBoolean("checkbox", false) == true) 

を使用しています。上記の条件が真であれば、ステータスバーに通知が表示されます(私は通知とサービスのためのコードを提示しません)。 私の問題は、プリファレンスをクリックしてから、PreferenceManagerがチェックボックスと通知トリガーから値を取得するまで、通知を受け取っていないということです。 どうすれば修正できますか? ありがとう、狼。

答えて

2

チェックボックスはデフォルトで「true」に設定されている可能性がありますが、設定は正しくありません。あなたの設定がまったく設定されていない場合、getBooleanからのデフォルト値はfalseです。あなたは、おそらくこのを探しています:言う

if(myPreferences.getBoolean("checkbox", true) == true) 

:あなたが好み(まだ)を見つけることができない場合は、trueでデフォルトを使用します。

+0

遅れて申し訳ありませんが、それは私の問題を解決しませんでした。 再度、私は、プリファレンス・アクティビティを入力したときにのみ通知を受け取ります。 – Wolf87

関連する問題