在Android中,添加一个片段并在一次操作中释放回堆栈片段
如何在一个操作下添加一个片段并释放Android中的所有后台堆栈 我试过:在Android中,添加一个片段并在一次操作中释放回堆栈片段,android,fragmentmanager,Android,Fragmentmanager,如何在一个操作下添加一个片段并释放Android中的所有后台堆栈 我试过: getSupportFragmentManager().popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE); 然后添加我的新片段: FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction(); fragmentTransacti
getSupportFragmentManager().popBackStack(null,FragmentManager.POP_BACK_STACK_INCLUSIVE);
然后添加我的新片段:
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left);
fragmentTransaction.replace(R.id.content_frame, fragment);
fragmentTransaction.commitAllowingStateLoss();
// or
fragmentTransaction.commit(); // i tried both of them
但我得到:
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
使用ft.addToBackStack(null)避免碎片回叠 例如:-
SignUpAsFragment signUpAsFragment=new SignUpAsFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.user_signUp_frag_container,signUpAsFragment); // container is your FrameLayout container
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.addToBackStack(null);
ft.commit();