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

How to Disable drawer in fragment and back back to correct fragment

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

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

Fragment[2]和Fragment[3]里面是一个按钮。此按钮打开其他片段。片段[4]。

我想要没有抽屉但有后退按钮的 Fragment[4]。

这是Fragment[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);

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

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

  1. 您可以使用:

    mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    

    这将在 swipe

  2. 锁定抽屉打开
  3. 添加行

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

in Activity 这使得所有片段都像片段 1、2、3 和 4。可能在你的情况下,片段 4 来自 activity 与片段 2 不同。所以,按下后退按钮不工作