2016-04-21 58 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