2016-09-21 87 views
-1

我仍然是一個新的應用程序開發人員,並試用我的第一個應用程序。從片段到片段與後退按鈕

我有一個應用程序,主要活動有三個菜單按鈕,一個按鈕導致一個片段,並在該片段內,還有另一個按鈕創建並顯示另一個片段。 所以它是這樣的 Activity - > Fragment1 - > Fragment2 我正在嘗試使用後退按鈕從Fragment2導航到Fragment 1。 我用getActivity()。onBackPressed()。 問題是,當它應該回到片段1時,它會一路跳回到活動。

我需要重寫或使用什麼方法才能從F2導航回F1?

預先感謝您。

回答

0

當您添加片段時,也將它們添加到backStack。這將允許你玩已經添加的片段,然後你可以在onBackPressed中處理它們。

@Override 
public void onBackPressed() { 
    FragmentManager fragmentManager = getSupportFragmentManager(); 

if (fragmentManager.getBackStackEntryCount() < 1){ 
    Fragment fragment = new XXXFragment(); 
    FragmentTransaction fragmentTransaction =  
    getSupportFragmentManager().beginTransaction(); 

    getSupportActionBar().setTitle(mDrawerTitle); 

    fragmentTransaction.replace(R.id.frame_container, 
    fragment).addToBackStack("first").commit(); 

}else{ 
    finish(); 
} 
}