我正在开发一个需要Navigation Drawer.的应用程序,该应用程序具有1个MainActivity和大约10个片段。当我单击MainActivity中的“导航抽屉”图标时,它将显示10个fragments,因此我可以选择每个。

例如,我选择fragment A,然后选择B,然后选择C ...到F。当我进入fragment F并按“返回”按钮时,它将带我回到fragment E,然后再次返回“它将带我回到fragment D ...
我需要的是当我按fragment中的后退按钮时,它需要转到navigationdrawer中的默认主页。

我已经搜索了SO,发现了1个类似的问题,但还没有答案,所以我不得不提另一个问题

最佳答案

您好,以下是我的解决方案,

我正在使用下面的代码来更改片段:

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

if (fragmentA == null)
    fragmentA = new FragmentA();

fragmentTransaction.replace(R.id.container, fragmentA);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commitAllowingStateLoss();


如果使用supportFragment,则使用getSupportFragmentManager()代替getFragmentManager()。

并且在那时执行backpress时,将以下代码放入包含Fragment的Activity中。

@Override
public void onBackPressed() {
    super.onBackPressed();
    getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
}


希望这个答案对您有所帮助并解决您的问题。

关于android - 后退按钮按下处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47769499/

10-13 04:20