如何在PreferenceActivity中将SharedPreferences设置为默认值?

我已经为PreferenceScreen创建了一个基于xml的PreferenceActivity.在xml中,您可以为不同的首选项指定默认值.但是在打开和关闭屏幕之前,这些不存储在我的SharedPreferences中.

问题是我想立即使用存储在此屏幕中的首选项(如服务器地址),如果用户想要更改默认值,则只需要打开它.

有没有办法存储偏好屏幕xml中的所有首选项,而不强制用户打开和关闭首选项活动?

我知道你可以在从SharedPreferences中检索Preference时提供默认值,但是在xml和code中都必须保持默认值是愚蠢的.

解决方法

只需在Application类中使用此代码即可.
PreferenceManager.setDefaultValues(this,R.xml.preference,false);

它将从XML加载您的首选项,最后一个参数(readAgain)将保证不会覆盖用户首选项.您需要在R.xml.preference文件中维护默认参数.

请查看Android API中的PreferenceManager.setDefaultValues以进行进一步调查.

相关文章

Android 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...