将片段添加到片段中?

时间:2012-11-30 06:41:46

标签: android android-layout android-fragments

我创建了一个活动容器,我在其中添加了一个片段:

  

FragmentTransaction ft = getFragmentManager()。beginTransaction();   ft.replace(R.id.simple_fragment,myFragment); ft.commit();

其中simple_fragment是容器布局(Linear / Frame),现在我想在myFragment中添加myFragment中的另一个片段。

更新:

请参阅附图,在这种情况下我有三个顶部按钮的活动布局,点击每个按钮我用其他片段布局替换下行布局说片段1/2或3 ....现在从片段1我想要调用其他片段1A和1A到1B。在这里,我想维护堆栈以及内部片段视图。

enter image description here

我怎么能这样做,任何人都有关于它的想法/建议?

2 个答案:

答案 0 :(得分:0)

访问托管片段的活动,并要求它替换您的片段。

这样的东西
((MyActivity) getActivity()).goToOtherFragment();

答案 1 :(得分:0)

在您的1A片段中,您必须为将保存1B片段示例的父视图提供id

<FrameLayout android:id="@+id/content"/>

然后你必须将新的1B片段添加到1A

 Fragment1B fragment1B = new Fragment1B();
 FragmentTransaction transaction=getFragmentManager().beginTransaction();     
 transaction.add(R.id.content,fragment1B,"fragment1BTAG");
 transaction.addToBackStack(null);
 transaction.commit();

有时你需要将1B片段根视图的背景颜色设置为白色,因为它加载为trasnparent

然后在你的onBackPressed()中你可以使用

FragmentManager fm=getSupportFragmentManager();
fm.popBackStack();