从 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);
这对我有用。
感觉不是一个可靠的解决方案,但它有我想要的效果,我必须继续前进。
抱歉,如果这是一个愚蠢的问题。
所以,我有一个 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);
这对我有用。
感觉不是一个可靠的解决方案,但它有我想要的效果,我必须继续前进。