7

我爲PreferenceScreen創建了一個基於xml的PreferenceActivity。在xml中,您可以將默認值分配給不同的首選項。但是在屏幕打開和關閉之前,這些並不存儲在我的SharedPreferences中。如何使PreferenceActivity中的SharedPreferences在Android中設置爲默認值?

問題是,我想立即使用存儲在此屏幕中的首選項(如服務器地址),並且用戶只需要打開它,如果他想更改默認值。

有沒有一種方法來存儲preferencescreen xml中的所有首選項,而不強制用戶打開和關閉首選項活動?

我知道,您可以在從SharedPreferences檢索首選項時提供默認值,但在xml和代碼中都必須維護默認值是很愚蠢的。

回答

13

只需在Application類中使用此代碼即可。

PreferenceManager.setDefaultValues(this, R.xml.preference, false); 

這將載入您的喜好從XML和最後一個參數(readAgain)將保證用戶的偏好不會被覆蓋。您需要維護R.xml.preference文件中的默認參數。

在Android API中查看PreferenceManager.setDefaultValues以進一步調查。

+0

正是我在找的,謝謝! – Gober 2010-11-30 13:12:53

相關問題