抱歉,如果这是一个愚蠢的问题。
所以,我已经有了一个定义我的首选项的settings.xml,并且在树的某个点上我有:
<PreferenceScreen [...] android:fragment="path.to.fragment" [...] />
当我点击那件事时,我会去看我的片段。 那是在工作。
我的片段是ListFragment
,因为我在此屏幕上显示蓝牙设备列表,并且无法静态声明它们。
我的问题是,当用户点击我ListFragment
中的某个列表项时,我想打开详细信息屏幕,他们可以在该屏幕上设置所选设备的偏好设置,但我无法确定如何以编程方式创建和启动下一个片段,同时仍然保留优先级提供的漂亮树中的内容。
现在我只是创建一个活动,以便我可以超越问题的这一部分,但在完成之前我必须弄清楚。
有一种简单的方法可以做到这一点,还是我完全采取了错误的方法?
谢谢!
编辑:图片
因此,第1页是我的设置片段,它是使用XML构建的,突出显示的选项是使用PreferenceScreen
生成的。
第2页是我的listFragment
,因为这些项目来自蓝牙,它不能只是另一个设置xml条目。
第3页是我选择一个选项(WIP)时得到的结果。为了达到这一点,我必须将其作为一项活动并使用startActivity
,但其他两个是碎片。我问是否有一种方法可以以编程方式执行PreferenceScreen
选项在xml中执行的相同操作,并启动一个片段,并保留顶部栏和内容。
答案 0 :(得分:2)
好的,这就是我所拥有的。
我意识到在顶级我有一个PreferenceActivity
,它的方法是startPreferenceFragment。
所以,我这样做:
((PreferenceActivity) getActivity()).startPreferenceFragment(new MyFragment(), true);
哪个适合我。
它并不像一个坚实的解决方案,但它具有我想要的效果,我必须继续前进。