2012-11-30 276 views
0

创建其中I使用添加了一个片段的活动容器:将片段添加到片段?

FragmentTransaction英尺= getFragmentManager()的BeginTransaction(); ft.replace(R.id.simple_fragment,myFragment); ft.commit();

其中simple_fragment是容器布局(线性/帧),现在我想从myFragment本身添加myFragment中的另一个片段。

UPDATE:

普莱斯是指附加的图像,在这种情况下,我有三个顶部按钮活动布局,每个按键的点击我更换其他片段布局的缺点布局说片段1/2或3 ...从片段1中我想调用其他片段1A和从1A到1B。在这里我想保持堆栈以及内部片段视图。

enter image description here

我怎么能做到这一点,任何一个有关于它的想法/建议?

+0

片段内的另一个片段是可能的,因为4.2 –

+0

http://developer.android.com/about /versions/jelly-bean.html#42-ui-tools它说它在最新的支持库里面(对不起,没有例子) –

+0

确定np让我检查这个..谢谢。 – CoDe

回答

0

访问托管Fragment的活动并要求它替换您的Fragment。

喜欢的东西

((MyActivity) getActivity()).goToOtherFragment(); 
+0

这是很好的建议..但在这种情况下,我们如何管理碎片堆栈? – CoDe

+0

您可以使用addToBack Stack将事务添加到backstack中http://developer.android.com/reference/android/support/v4/app/FragmentTransaction.html#addToBackStack(java.lang.String) –

+0

@Niek thanks .. 。我检查一下。 – CoDe

0
在1A片段

你必须给一个ID,父视图会保持1B片段例如

<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碎片根的背景颜色vie w至白色,因为它加载的trasnparent

然后在onBackPressed(),你可以只使用

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