我的应用中有两个屏幕,假设屏幕 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();
但是它不起作用。没有其他事情发生。我已经用谷歌搜索了几个小时,但仍然找不到任何解决方案。
最佳答案
如果我没记错的话,你正在尝试返回上一个 fragment 。那么你为什么不直接使用:
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();
关于java - 返回上一个屏幕不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37905150/