我开发了一个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)) {...}
在我进行设置显示至少一次后,它工作正常。 但是! 首次将应用程序安装到设备后,只要我(一次)设置显示,此参数始终为“false”值。 完成后,它按预期工作,即使我退出并重新启动程序。它将正确的值存储在首选项中。
对我来说,为什么它的工作如此奇怪? 谢谢!