我的应用中有两个屏幕,假设屏幕A和屏幕B。请参见下面的代码。
屏幕A->屏幕B:
EditProfileFragment contactFragment = new EditProfileFragment();
android.app.FragmentTransaction contactTransaction = getActivity().getFragmentManager().beginTransaction();
contactTransaction.add(R.id.fragment_container, contactFragment, GlobalVariable.MyPROFILE_EDIT_FRAGMENT);
contactTransaction.addToBackStack(null);
contactTransaction.commit();
保存记录后,我想返回到上一个屏幕B-> A:
getFragmentManager().popBackStackImmediate();
但这不起作用。什么都没发生。我已经搜寻了几个小时,但仍然找不到任何解决方案。
最佳答案
如果我没有记错,您正在尝试返回上一个片段。那么,为什么不使用:
getFragmentManager().popBackStack();
我编辑您的代码:(用户SupportFragment和SupportFragmentManager)
EditProfileFragment contactFragment = new EditProfileFragment();
FragmentTransaction contactTransaction = getActivity().getSupportFragmentManager().beginTransaction();
contactTransaction.replace(R.id.fragment_container, contactFragment, GlobalVariable.MyPROFILE_EDIT_FRAGMENT);
contactTransaction.addToBackStack(null);
contactTransaction.commit();
保存记录时使用:
getSupportFragmentManager().popBackStack();