簡體   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