java.lang.IllegalStateException: Failure saving state: active has cleared index in fragment

前端 未结 3 1215
别跟我提以往
别跟我提以往 2021-02-13 04:51

First, my app has structure like this:

 SpashActivity -> MainActivity -> switching between many fragments

My app use SlideMenu to switch

相关标签:
3条回答
  • 2021-02-13 05:27

    Possible problem with reading fragment stat between detach and attach.

    Try to use something like this:

    FragmentTransaction ft = fragmentManager.beginTransaction();
    
    //ft.detach(fragment).attach(fragment).commitAllowingStateLoss(); // crashing
    
    ft.replace(getView().getId(), fragment).commitAllowingStateLoss(); // not crashing
    
    0 讨论(0)
  • 2021-02-13 05:36

    Try to change

     @Override
    public void onBackPressed() {
        if (0 == getSupportFragmentManager().getBackStackEntryCount()) {
    

    to

     @Override
    public void onBackPressed() {
        if (getSupportFragmentManager().getBackStackEntryCount() < 1 ) {
    

    I hope this works

    0 讨论(0)
  • 2021-02-13 05:37

    The state of your fragments is automatically saved and restored, there is no need to do anything in your onSaveInstanceState method. Don't hold any references to your Fragments in your Activity (in your case currentFragment, mContent), if you need a certain Fragment, get it from FragmentManager by e.g. findFragmentByTag.

    0 讨论(0)
提交回复
热议问题