我有一个视图寻呼机,它有一个数组中每个主题的页面(英语,数学,科学等)。视图分页器中的片段都是从同一XML文件创建的。然后这些片段在其内部添加了片段。 由于所有父级都从同一个XML文件中膨胀,我无法指定要将子片段添加到哪个片段。我想知道他们是否有办法做到这一点 - 缩小id的范围可能??
答案 0 :(得分:0)
首先。如果你真的没有充分的理由使用它们,我建议你尽量避免儿童碎片。
但我不明白问题出在哪里。如果更多的片段使用相同的XML进行膨胀,我没有看到任何问题。你可以在所有父片段上调用setArguments()
并在这里添加一些Bundle,它可用于通过getArguments()
识别它所在的片段。
答案 1 :(得分:0)
我认为您希望实现多个片段,并具有根据用户选择操作它们的功能。有Google链接Fragments
在该网页上查看这些代码:
Fragment
和FragmentTransaction
showDetails
中的方法TitlesFragment
。如果您需要工作样本,请查看Working with Android Fragments。来自网页的片段:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent">
<fragment
android:id="@+id/headFrag"
android:name="com.intertech.HeaderFrag"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
<fragment
android:id="@+id/bodyFrag"
android:name="com.intertech.BodyFrag"
android:layout_width="wrap_content"
android:layout_height="match_parent"/>
</LinearLayout>
代码
...
FragmentManager fragmentManager = getFragmentManager ();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction ();
// work here to change Activity fragments (add, remove, etc.).
fragmentTransaction.add (R.id.myFrame, myFrag);
fragmentTransaction.commit ();
从上面看,布局中有2个片段。而fragmentTransaction.add方法应该以R.id格式指定父容器。
有一天,我可能想要/需要实现这一点。到目前为止,我实现了显示/隐藏Layouts
(而不是后悔),并且他们可以使用ID来操作。
玩得开心,让我们发布,Tommy Kwee。