java.lang.IllegalStateException: Fragment no longer exists for key f1: index 3

后端 未结 8 671
一整个雨季
一整个雨季 2020-12-24 10:43

I want to understand this exception in order to implement a proper fix.

There\'s a ViewPager and it uses a FragmentStatePagerAdapter to instantiate 2 fragments via g

8条回答
  •  别那么骄傲
    2020-12-24 11:05

    Use Activity lifeCycle instead of Fragment.

    public class MyAdapter extends FragmentStateAdapter {
    
        public MyAdapter (@NonNull Fragment fragment) {
            super(fragment.getFragmentManager(), fragment.getActivity().getLifecycle());
        }
    }
    

    Or as others mentioned disable the ViewPager2 save state.

    • in Layout: android:saveEnabled="false"
    • in code:
      • viewPager.setSaveEnabled(false);
      • viewPager.setSaveFromParentEnabled(false);

提交回复
热议问题