繁体   English   中英

Android:来自同一XML文件的多个片段

[英]Android: Multiple Fragments from same XML file

我有一个视图寻呼机,它有一个数组中每个主题的页面(英语,数学,科学等)。 视图分页器中的片段都是从同一XML文件创建的。 然后这些片段在其内部添加了片段。 由于所有父级都从同一个XML文件中膨胀,我无法指定要将子片段添加到哪个片段。 我想知道他们是否有办法做到这一点 - 缩小id的范围也许?

第一。 如果你真的没有很好的理由使用它们,我建议你尽量避免儿童碎片。

但我不明白问题出在哪里。 如果更多的片段使用相同的XML进行膨胀,我没有看到任何问题。 你可以在所有父片段上调用setArguments()并在这里放置一些Bundle,它可以用来通过getArguments()来识别它里面的片段。

我认为您希望实现多个片段,并具有根据用户选择操作它们的功能。 有Google链接片段

在该网页上查看以下代码:

  1. FragmentFragmentTransaction的许多样本
  2. 例如,查看类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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM