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

ald*_*kur 6 android fragment drawer

我有一个带有Fragment布局的主Activity.抽屉有3个选项:

Fragment[1], Fragment[2], Fragment[3].

Inside Fragment [2]和Fragment [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();
Run Code Online (Sandbox Code Playgroud)

并在片段[4]

onCreate方法:

getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
Run Code Online (Sandbox Code Playgroud)

但是这个解决方案不起作用.

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

Kus*_*hal 10

  1. 您可以使用 :

    mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    
    Run Code Online (Sandbox Code Playgroud)

    这将锁定抽屉打开 swipe

  2. 添加行

    getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
    
    Run Code Online (Sandbox Code Playgroud)

在活动中,所有片段都像片段1,2,3和4.可能在你的情况下,片段4来自差异活动而不是片段2.因此,后退按钮按下不起作用