将SharedPreferences(NOT DefaultSharedPreferences)设置为默认值

时间:2017-02-25 19:41:27

标签: android sharedpreferences

可能我只是有点困惑,但我很难弄清楚如何设置特定SharedPreferences的默认值。

据我所知,方法

PreferenceManager.setDefaultValues(ctx, R.xml.myprefs, true); 

仅适用于DefaultSharedPreferences。在我的情况下,我使用不同的SharedPreferences,我必须设置其中一个不是DefaultSharedPreferences的默认值。所以我想念

之类的东西
PreferenceManager.setDefaultValues(mySharedPrefs, R.xml.myprefs, true).

我忽略了什么吗?

提前致谢! 托马斯

1 个答案:

答案 0 :(得分:2)

PreferenceManageroverloads this method,可以指定首选项文件和模式:

public static void setDefaultValues(Context context, String sharedPreferencesName, 
                                    int sharedPreferencesMode, int resId, boolean readAgain)

参考文献摘录:

  

类似于setDefaultValues(Context,int,boolean)但允许   客户端提供共享首选项的文件名和模式   文件。

虽然您无法将SharedPreference对象本身作为参数传递,但是传递首选项文件的正确 sharedPreferencesName sharedPreferencesMode 将指向相同的实例