2012-11-30 237 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();