[英]Android: Multiple Fragments from same XML file
我有一个视图寻呼机,它有一个数组中每个主题的页面(英语,数学,科学等)。 视图分页器中的片段都是从同一XML文件创建的。 然后这些片段在其内部添加了片段。 由于所有父级都从同一个XML文件中膨胀,我无法指定要将子片段添加到哪个片段。 我想知道他们是否有办法做到这一点 - 缩小id的范围也许?
第一。 如果你真的没有很好的理由使用它们,我建议你尽量避免儿童碎片。
但我不明白问题出在哪里。 如果更多的片段使用相同的XML进行膨胀,我没有看到任何问题。 你可以在所有父片段上调用setArguments()
并在这里放置一些Bundle,它可以用来通过getArguments()
来识别它里面的片段。
我认为您希望实现多个片段,并具有根据用户选择操作它们的功能。 有Google链接片段
在该网页上查看以下代码:
Fragment
和FragmentTransaction
的许多样本 TitlesFragment
中的方法showDetails
。 如果您需要工作样本,请查看使用Android片段 。 来自网页的片段:
<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,玩得开心,让我们发布信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.