2017-08-16 10 views
0

フラグメントを追加して、Androidのすべてのバックスタックを1回のアクションでリリースするにはどうすればよいですか?フラグメントを追加して、Androidの1アクションでスタックフラグメントを解放します

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 

答えて

1

使用ft.addToBackStack(ヌル)へフラグメントバックスタックを避ける

例: -

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(); 
関連する問題