Return 之前的屏幕不工作
Return previous screen not working
我的应用程序中有两个屏幕,比如说屏幕 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();
保存记录后,我想return到上一个屏幕B -> A:
getFragmentManager().popBackStackImmediate();
但它不起作用。没有其他事情发生。我已经用谷歌搜索了几个小时,但我仍然找不到任何解决方案。
如果我没记错的话,您正在尝试 return 上一个片段。那你为什么不直接使用:
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();
我的应用程序中有两个屏幕,比如说屏幕 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();
保存记录后,我想return到上一个屏幕B -> A:
getFragmentManager().popBackStackImmediate();
但它不起作用。没有其他事情发生。我已经用谷歌搜索了几个小时,但我仍然找不到任何解决方案。
如果我没记错的话,您正在尝试 return 上一个片段。那你为什么不直接使用:
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();