使用没有PreferenceActivity的Android首选项框架

时间:2013-06-06 14:34:23

标签: android android-ui android-preferences

我有一个preferences.xml,包含我的应用程序的各种设置 - 它们可能的值\名称,默认值等。

以前只在带有PreferenceActivity的{​​{1}}中使用。

现在我正在创建一个完全自定义的设置界面,我希望它与addPreferencesFromResource()无关。

我想要的只是从XML(作为PreferenceActivity)获得我的首选层次结构,因此我可以使用它来构建我自己的UI。 我不想要Android的列表适配器,我不想要对话框等。只有数据模型。

可悲的是,我还没有找到一个很好的方法来做到这一点。 我能想到的唯一接近的事情是扩展PreferenceScreen,提供自定义的“R.id.list”,并将其可见性设置为GONE,因此没有人会看到Android的偏好UI。

任何好的,干净的方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

您可以直接使用PreferenceManager来完成此操作。首先,您将调用加载首选项XML资源的setDefaultValues。接下来,您可以通过调用SharedPreferences来访问getDefaultSharedPreferences,并通过SharedPreferences对象执行任何首选项更改。要编辑首选项,您需要从SharedPreferences对象中获取Editor。确保在编辑器上调用commit以实际保存您所做的更改。