默认首选项与共享首选项



几个月来,我对多个需求使用了defaultPreferences,但对于当前需求,我需要多个Preferences,因此,必须向项目中添加第二个Preferences。所以我添加了一个CCD_ 1,我所做的一切和我为defaultPreferences所做的完全一样。但我得到的结果是SharedPrefernces的"NULLY"!然而,我从中得到了我想要的!defaultPreferences

我的Pref.xml是:

<EditTextPreference
        android:key="t2"
        android:summary="some text"
        android:title="some T"
        android:layout_gravity="right"
        android:defaultValue="2"
    />
    <ListPreference
        android:key="mt2"
        android:summary="some text2"
        android:title="some T2"
        android:layout_gravity="right"
        android:defaultValue="2"
        android:entries="@array/mt2_setting"
        android:entryValues="@array/mt2_settingsvalues"/>

而且我已经把这个叫做SharedPreferences了。我从OnCreate运行了以下部分,从一个内部方法运行,但没有运气,只是返回NULLY,

    SharedPreferences Prefs=context.getSharedPreferences("pref", Context.MODE_PRIVATE);
    String t2TEMP=Prefs.getString("t2", "NULLY");
    String mt2TEMP=Prefs.getString("mt2", "NULLY");
     Log.v("PREFERENCES VALUE:", "mt2 is: "+mt2TEMP+"*"+t2TEMP);

我使用的上下文是CCD_ 5,尽管我再次尝试了CCD_。

如果有任何帮助的话,我会在调用首选项PreferenceManager.setDefaultValues(this, R.xml.prefe, false);之前应用默认值我真的很想知道DefaultShared首选项之间的区别是什么,这让我停了下来。

我很确定你要找的是

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

因为偏好被保存在那里。您指向的是另一个SharedPreference文件

最新更新