0

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

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

默认情况下,我的首选项中的复选框被选中,我正在使用它

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

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

4

1 回答 1

2

您的复选框可能默认为“true”,但您的设置不是。如果您的设置根本没有设置,您会从您的 中获取默认值getBoolean,即false. 您可能正在寻找这个:

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

它说:如果您找不到首选项(还),请使用默认值,即true.

于 2012-05-09T13:17:41.517 回答