自定义PreferenceActivity还是创建自己的?

时间:2011-05-27 04:39:59

标签: android

我需要屏幕来设置典型的东西。但我有几个要求:

  1. 存储在DB中的首选项
  2. 我需要读取一些首选项/仅当管理员设置它们并禁止用户更改时(从服务器端)
  3. 所以,我喜欢内置功能,但想要从DB保存/加载,并希望在需要时禁用控件。

    我可以做这样的事情,或者我最适合自己的活动和对话吗?

1 个答案:

答案 0 :(得分:1)

对这两者都是肯定的。您可以扩展PreferenceActivity,然后覆盖getSharedPreferences()方法,以返回您自己的SharedPreferences实现,该实现将数据保存到数据库中,而不是保存到共享首选项XML中。您可以像在“普通”情况下一样提供首选项XML,您只需添加一些代码来启用/禁用您需要的首选项。

要弄清楚所有部分需要花费一些工作,但是您将节省尝试实施UI并处理所有交互的时​​间。

另见this question