从偏好中获取价值?

时间:2012-05-09 13:13:25

标签: java android

我在首选项中有一个复选框,我得到了值

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

我默认选中偏好设置中的复选框,我正在使用此

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

检查用户是否更改复选框状态。如果上面的条件为真,我会在状态栏中收到通知(我不会提供通知和服务的代码)。 所以,我的问题是,在我点击首选项之前我没有收到通知,最后我的PreferenceManager从复选框和我的通知触发器中获取值。 我该如何解决这个问题? 谢谢,沃尔夫。

1 个答案:

答案 0 :(得分:2)

您的复选框可能默认为“true”,但您的设置不是。如果您的设置完全没有设置,则会获得getBoolean的默认设置,即false。你可能正在寻找这个:

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

表示:如果找不到偏好(尚未),请使用默认值true