Android 如何禁用片段中的抽屉并返回到正确的片段

Android 如何禁用片段中的抽屉并返回到正确的片段,android,fragment,drawer,Android,Fragment,Drawer,我有一个带有片段布局的主要活动。出票人有3种选择: Fragment[1],Fragment[2],Fragment[3]。 在片段[2]和片段[3]中有一个按钮。这个按钮打开另一个片段。片段[4] 我想要不带抽屉但带后退按钮的片段[4] 这是片段[2]中的onClick代码 Fragment fragment = new InstalacionesEncontradasFragment(); Bundle bundle = new Bundle(); bundle.putSerializabl

我有一个带有片段布局的主要活动。出票人有3种选择:

Fragment[1],Fragment[2],Fragment[3]。

在片段[2]和片段[3]中有一个按钮。这个按钮打开另一个片段。片段[4]

我想要不带抽屉但带后退按钮的片段[4]

这是片段[2]中的onClick代码

Fragment fragment = new InstalacionesEncontradasFragment();
Bundle bundle = new Bundle();
bundle.putSerializable("key", this.instalacionesConCategorias);
fragment.setArguments(bundle);
FragmentManager fragmentManager = getFragmentManager();

FragmentTransaction mFragmentTransaction = fragmentManager.beginTransaction();
mFragmentTransaction.addToBackStack(null);
mFragmentTransaction.replace(R.id.main_frame_container, fragment, "ACTIVIDADES").commit();
并在片段[4]

onCreate方法:

getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
但这个解决方案不起作用

如何禁用抽屉?我应该在哪里执行后退按钮?在片段[2]或片段[3]中

  • 您可以使用:

    mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    
    这将在
    刷卡时锁定抽屉打开

  • 添加行

    getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
    

  • 使所有片段都像片段1、2、3和4。可能在你的情况下,片段4和片段2来自不同的活动。因此,按下后退按钮不起作用

    在我写的地方
    mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK\u MODE\u LOCKED\u CLOSED)片段[4]未声明mDrawerLayoutEither将变量传递给
    fragment4
    或通过使
    静态
    来使用它,谢谢<代码>公共静态抽屉布局mDrawerLayout在主活动中是很好的解决方案。然后我将其实例化为
    publicdrawerlayout mDrawerLayout=Main.mDrawerLayout在片段[4]中。可以吗?可以。。这将满足你的目的。。在片段[4]中,像--
    Main.mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK\u MODE\u LOCKED\u CLOSED)一样使用它