1

我开发了一个具有默认首选项的设置显示的 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)) {...}

它工作正常,在我去设置显示至少一次之后。 但是在第一次将应用程序安装到设备后,只要我去(一次)设置显示,这个参数总是得到“假”值。 完成后,它按预期工作,即使我退出并重新启动程序。它将正确的值存储在首选项中。

对我有什么想法,为什么它的工作如此奇怪?谢谢!!

4

0 回答 0