2012-07-19 51 views
0

我有Fragment1。在他們身上,我按下按鈕並啓動DialogFramgent。在DialogFragment我按下按鈕並啓動Fragment2。當我按下後,我將返回到Fragment1,但不返回到DialogFragmnet片段後不返回對話框片段

+0

請提供您的代碼片段開始。 – sandrstar 2012-07-19 06:10:01

回答

0

一個很大的特點有關您的活動使用的片段是添加,刪除,替換,並與他們進行其他操作,以響應用戶交互的能力。您提交給活動的每一組更改稱爲事務,您可以使用FragmentTransaction中的API執行一個更改。您還可以將每個事務保存到由活動管理的後退堆棧,從而允許用戶向後瀏覽片段更改(類似於在活動中向後導航)。

您可以從FragmentManager這樣獲得FragmentTransaction的一個實例:

FragmentManager fragmentManager = getFragmentManager(); 
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); 

每個事務是一組要在同一時間進行的改變。您可以使用諸如add(),remove()和replace()之類的方法設置您想要爲給定事務執行的所有更改。然後,要將事務應用於活動,您必須調用commit()。

但是,在調用commit()之前,您可能需要調用addToBackStack(),以便將事務添加到片段事務的後端堆棧。該後退堆棧由該活動管理,並允許用戶通過按Back按鈕返回到前一個片段狀態。