如何禁用片段中的抽屉并返回正确的片段
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]?
您可以使用:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
这将在 swipe
锁定抽屉打开
添加行
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
in Activity 这使得所有片段都像片段 1、2、3 和 4。可能在你的情况下,片段 4 来自 activity 与片段 2 不同。所以,按下后退按钮不工作
我有一个带有 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]?
您可以使用:
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
这将在
swipe
锁定抽屉打开
添加行
getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
in Activity 这使得所有片段都像片段 1、2、3 和 4。可能在你的情况下,片段 4 来自 activity 与片段 2 不同。所以,按下后退按钮不工作