可能我只是有点困惑,但我很难弄清楚如何设置特定SharedPreferences的默认值。
据我所知,方法
PreferenceManager.setDefaultValues(ctx, R.xml.myprefs, true);
仅适用于DefaultSharedPreferences。在我的情况下,我使用不同的SharedPreferences,我必须设置其中一个不是DefaultSharedPreferences的默认值。所以我想念
之类的东西PreferenceManager.setDefaultValues(mySharedPrefs, R.xml.myprefs, true).
我忽略了什么吗?
提前致谢! 托马斯
答案 0 :(得分:2)
PreferenceManager
类overloads this method,可以指定首选项文件和模式:
public static void setDefaultValues(Context context, String sharedPreferencesName,
int sharedPreferencesMode, int resId, boolean readAgain)
参考文献摘录:
类似于setDefaultValues(Context,int,boolean)但允许 客户端提供共享首选项的文件名和模式 文件。
虽然您无法将SharedPreference
对象本身作为参数传递,但是传递首选项文件的正确 sharedPreferencesName 和 sharedPreferencesMode 将指向相同的实例