我开发了一个具有默认首选项的设置显示的 android 应用程序。像这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="Voice settings">
<CheckBoxPreference
android:title="Voice"
android:defaultValue="true"
android:summary="Enable / disable voice in application"
android:key="settings_voice" />
</PreferenceCategory>
</PreferenceScreen>
我从一个活动中使用它:
SharedPreferences SP = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
if (SP.getBoolean("settings_voice", true)) {...}
它工作正常,在我去设置显示至少一次之后。 但是!在第一次将应用程序安装到设备后,只要我去(一次)设置显示,这个参数总是得到“假”值。 完成后,它按预期工作,即使我退出并重新启动程序。它将正确的值存储在首选项中。
对我有什么想法,为什么它的工作如此奇怪?谢谢!!