2016-09-21 88 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(); 
} 
}