相关疑难解决方法(0)

在主Activity中初始化XML中的首选项

我的问题是,当我启动应用程序并且用户没有打开我的PreferenceActivity时候,当我检索它们时,不会获得我的preference.xml文件中定义的任何默认值.

preference.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
    android:key="applicationPreference" android:title="@string/config"
    >
    <ListPreference
            android:key="pref1"
            android:defaultValue="default"
            android:title="Title"
            android:summary="Summary"
            android:entries="@array/entry_names"
            android:entryValues="@array/entry_values"
            android:dialogTitle="@string/dialog_title"
    />                  
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)

我的主要活动(onCreate方法)的片段:

    SharedPreferences appPreferences = PreferenceManager.getDefaultSharedPreferences(this);        
    String pref1 = appPreferences.getString("pref1", null);
Run Code Online (Sandbox Code Playgroud)

结果我得到了一个null值.

xml android android-preferences

50
推荐指数
3
解决办法
4万
查看次数

Android共享首选项初始化

在共享首选项中开始使用一些默认值通常很好.有没有一种从xml文件或属性文件初始化它们的好方法?寻找最好的方法来做到这一点.谢谢.

android initialization sharedpreferences

6
推荐指数
1
解决办法
8648
查看次数

Android首选项:不正确的默认值DESPITE"setDefaultValues"

我有这样一个类似的问题,让我根据提出的解决方案进行,并且加入该行代码的onCreate:

PreferenceManager.setDefaultValues(this, R.xml.settings, false);

不幸的是,问题仍然存在,如果用户没有更改设置,仍然是默认值(true)

mPreferences.getBoolean(String.valueOf(day_of_week), true)

用来代替XML中的默认值.

有人建议将getBoolean()的default-value参数更改为null,但此代码会崩溃应用程序:

mPreferences.getBoolean(String.valueOf(day_of_week), (Boolean) null)
Run Code Online (Sandbox Code Playgroud)

有什么建议?提前致谢!

android default-value preferences

6
推荐指数
1
解决办法
2429
查看次数