【发布时间】:2013-02-11 13:06:59
【问题描述】:
我正在开发的应用程序有一个扩展SherlockFragmentActivity 的活动。我想使用首选项 api 以便轻松地将首选项添加到活动中。由于我想支持 api 级别 8 及以上,我必须从 SherlockPreferenceActivity 类扩展活动。
问题是活动需要显示一个对话框。该对话框扩展SherlockDialogFragment。对话框的show() 方法需要两个参数:FragmentManager 对象和String 标记。
为了得到FragmentManager对象,我曾经调用了activity的getSupportFragmentManager()方法。 SherlockPreferenceActivity 中缺少此方法。我尝试使用 getFragmentManager() 但 Eclipse 说
DialogFragment 类型中的方法 show(FragmentManager, String) 是 不适用于参数(FragmentManager、String)
如何显示来自SherlockPreferenceActivity 的对话框片段?
【问题讨论】:
-
我也有同样的问题。我们需要从支持包中获取 FragmentManager 但在 SherlockPreferenceActivity 中没有这样的东西。 =(
-
我已经用另一种方式解决了。在同一个包下创建另一个活动(记得将这个新活动添加到清单中)。扩展 SherlockPreferenceActivity 并实现接口 SharedPreferences.OnSharedPreferenceChangeListener。查看 android 开发者网站以了解如何编写此活动。使用此活动来管理用户偏好。在另一个活动中,当用户按下设置按钮时,以意图启动偏好活动。从主要活动中,您将能够使用 PreferenceManager 读取设置。
标签: android actionbarsherlock preferenceactivity