Closed Dboy233 closed 3 years ago
我知道为什么了。
想了想,我觉得这个BannerViewPager 中 setCurrentItem 做一下 mBannerPagerAdapter == null的判断比较好。fragment页面替换后,执行了onDestoryView,触发了保存状态,但是并没有执行onDestory,再次打开这个fragment的时候所有的属性都是null了,但是还是触发了onRestoreInstanceState,在fragment中,有时候逻辑上banner的数据是一直在更新的,恢复状态的时候,更新逻辑还没走完,还没实行初始化banner的代码,onRestoreInstanceState在初始化代码执行前触发了,所以导致了null崩溃。
这是debug截图。我看demo里面的是没有问题。不知道为什么我这里操作就有问题。
我用的JetPack的Navigation导航框架写的fragment