从 PreferenceScreen 内部打开片段

Opening Fragment From Inside PreferenceScreen

抱歉,如果这是一个愚蠢的问题。

所以,我有一个 settings.xml 定义我的偏好,在树中的某个点我有:

<PreferenceScreen [...] android:fragment="path.to.fragment" [...] />

当我点击那个东西时,我会转到我的片段。 行得通。

我的片段是 ListFragment,因为我在这个屏幕上显示蓝牙设备列表,不能静态地声明它们。

我的问题是,当用户单击我的 ListFragment 中的列表项之一时,我想打开一个详细信息屏幕,他们可以在其中设置所选设备的首选项,但我想不通了解如何以编程方式创建和启动下一个片段,同时仍将内容保留在首选项提供的漂亮树中。

现在我只是创建一个 activity 以便我可以跳过问题的那一部分,但在这完成之前我必须弄清楚一些事情。

有没有简单的方法可以做到这一点,还是我完全采用了错误的方法?

谢谢!

编辑:图片

所以,第 1 页是我的设置片段,它是使用 XML 构建的,突出显示的选项是使用上面的 PreferenceScreen 生成的。

第 2 页是我的 listFragment,因为这些项目来自蓝牙,它不能只是另一个设置 xml 条目。

第 3 页是我选择一个选项 (WIP) 时得到的。为了达到这一点,我必须将其设为 activity 并使用 startActivity,但其他两个是片段。我在问是否有办法以编程方式执行 PreferenceScreen 选项在 xml 中执行的相同操作,并启动一个保持顶部栏和内容的片段。

好的,这就是我得到的。

我意识到在顶层我有一个 PreferenceActivity,它有方法 startPreferenceFragment

所以,我这样做:

((PreferenceActivity) getActivity()).startPreferenceFragment(new MyFragment(), true);

这对我有用。

感觉不是一个可靠的解决方案,但它有我想要的效果,我必须继续前进。