2016-04-21 60 views
1

Android教程和示例显示如何使用偏好片段和首选项活动在应用中创建设置屏幕是否可以将Android偏好设置/设置屏幕配置为使用“默认”共享偏好以外的偏好?

但是,以这种方式公开的所有偏好都将其值设置为'DefaultSharedPreferences'。

如果我们想将优先值保存到其他(非默认/自定义)SharedPreferences,该怎么办?

我想到的用例类似于电子邮件应用程序,其中应用程序可能允许用户创建多个帐户,还可以让用户选择以不同方式保存不同帐户的设置。我看到的一种选择方法是在“首选项”屏幕中“编程”添加首选项,并为它们中的每一个指定不同的共享首选项目标(取决于帐户)。

但是,目前似乎所有添加到PreferenceFragment/Activity的首选项都将其值保存到DefaultSharedPreferences中。

任何指针,将不胜感激。

其中一个

+0

的[如何能PreferenceActivity使用自定义的首选项文件]可能的复制(http://stackoverflow.com/questions/5169532/how-can-a-preferenceactivity-use-a-custom-preference-file ) –

回答

0

从技术上讲,这三条线将从一侧完成工作。现在,它为所有活动设置了首选项,解决这个问题的简单方法是在需要的地方初始化默认的SharedPreferences,在需要的地方初始化Custom SharedPreferences。

getPreferenceManager().setSharedPreferencesName("custom_prefs"); 
getPreferenceManager().setSharedPreferencesMode(MODE_PRIVATE); 
addPreferencesFromResource(R.xml.prefs); 
+0

非常感谢 - 这确实有帮助 - 后续问题 - 您的示例使我们能够为整个设置活动配置首选项文件名。是否可以将其设置为一种偏好或个人偏好? –

+0

我编辑了答案。这一个会帮助你。 – SanVed