java.lang.IllegalStateException: Fragement no longer exists for key f0: index 0

报错信息:

1
2
3
4
java.lang.IllegalStateException: Fragement no longer exists for key f0: index 0
at android.support.v4.app.FragmentManagerImpl.getFragment(FragmentManager.java:564)
at android.support.v4.app.FragmentStatePagerAdapter.restoreState(FragmentStatePagerAdapter.java:211)
at android.support.v4.view.ViewPager.setAdapter(ViewPager.java:427)

 

快速切换界面的时候(首页和设备(两个界面都是viewPager使用FragmentStatePagerAdapter))遇到的,viewPsger使用FragmentStatePagerAdapter。

 

发生的原因:

1.没有存活的Fragment
2.获取到的Fragemnt为空

 

解决此BUG的解法就是在FragmentStatePagerAdapter的继承类里覆写此函数返回为空,这样FragmentManager.getFragment函数中就不满足第一个判断条件,不会执行后续代码也不会抛出异常了。

1
2
3
4
@Override 
public Parcelable saveState() { 
    return null
}
posted @   IT_lss  阅读(1686)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示