我的应用中有两个屏幕,假设屏幕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();

10-05 22:11