我有一个CheckBoxPreference
,我希望默认选中它;但它不起作用。
这是我的代码:
在我的extends Application
课程中:
@Override
public void onCreate() {
super.onCreate();
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.getBoolean("notify", true);
}
实际的Pref:
<CheckBoxPreference
android:key="notify"
android:title="Push Notifications"
android:summary="Receive status bar alerts"/>
</PreferenceCategory>
答案 0 :(得分:5)
您需要将默认值添加到xml中。请注意android:defaultValue="true"
机器人:默认值= “真”
<CheckBoxPreference
android:key="notify"
android:title="Push Notifications"
android:summary="Receive status bar alerts"
android:defaultValue="true"
/>
答案 1 :(得分:0)
我只是想为已接受的答案添加一些非常重要的内容。是的,您所要做的就是按照他们所说的添加默认值,如果您查看评论,其他人提到您需要使用这行代码实际设置默认值 ->
PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
您可以将该行代码放在设置活动的 OnCreate
方法中,也可以在首选项片段中调用它。
这才是最重要的!如果您已经至少运行了一次应用程序,您将不会看到默认设置被加载。这是因为为了防止用户设置丢失,默认值只设置一次。
因此,如果您想查看默认设置并确保它们正常工作,请卸载您的应用,然后重新运行。