我如何dynamic创buildAndroid偏好?

一个模型低于这个可能解释比文字更好。 从本质上讲,我想要一个列表,其中可以由用户dynamic添加/删除项目,每个项目都有可configuration的设置屏幕。

所以这里有两个键:

  1. 添加到主偏好屏幕
  2. 当一个项目被按下时开始一个activityForResult。 此活动将显示另一个首选项视图(滑块,checkbox等),用户可以在其中操作这些视图,然后返回新值以存储在数据结构中。

图片:
http://i.stack.imgur.com/eZsfh.png

Solutions Collecting From Web of "我如何dynamic创buildAndroid偏好?"

实际上,dynamic创build首选项屏幕非常简单。 您可以在代码中执行此操作(searchPreferenceFromCode.java的API演示示例应用程序)或者展开可以编写的XML文件( PreferencesFromXml.java )。 什么是困难的是提出一个明智的用户界面和存储后端为用户组成和存储这些dynamic偏好集合。

我会build议朝着碎片之路 – 特别是PreferenceFragment: http : //developer.android.com/reference/android/preference/PreferenceFragment.html

为什么我认为这会适合你:

此外,所显示的偏好将遵循系统偏好的视觉风格。 通过XML创build偏好层次结构(可以在多个屏幕上显示)很容易。 由于这些原因,build议使用这个片段(作为超类)来处理应用程序中的首选项。

你的问题有点含糊,但最好通过将用户的数据存储在数据库中(并使用标准的CursorAdapterCursorLoader实例向用户显示这些数据)来解决,而不是试图强制所有的东西进入Preferences框架。 CursorAdapter针对处理任意大的结果集进行了优化,而PreferenceActivity和朋友确实对一组固定的数据更好地工作。

首选项的devise很容易实现,但是如果你的用例超出了这个范围 – 听起来就像是这样 – 把数据挤压到首选项模型将是一件麻烦事。

如果你只是喜欢Preferences UI,那么你当然可以窥视Android源代码,看看它是如何实现的,同时让你自己的逻辑驱动器变成一个UI。