我已经找到方法规避该问题,先自问自答一下。
0258abc_ 开发者_如何转开发 2022-09-06 16:35
问题原因:在使用了support-v4包中ViewPager的Activity,由于Android系统历史问题,会导致onSaveInstaceState方法调用时机出现不确定性。而onSaveInstaceState方法中会调用FragmentMananger的saveAllState方法。如果这个调用时机出现在onBackPressed方法之前,在onBackPressed方法中会判断是否已经存在saveAllState的行为,如果存在就抛出IllegalStateException。
fgh54574 开发者_运维技巧 2022-09-06 16:36
方案二(参考StackOverFlow上的做法)——重写onSaveInstanceState方法:
天煞2104 开发者_如何学编程 2022-09-06 16:37
方案1(也是我采用的方式)——重写onBackPressed方法:
是木木姐姐啊 2022-09-06 16:39 开发者_如何学JAVA
解决方法:既然知道方法的原因,当然也就有了对应的解决方案。
139****8268 2022开发者_开发百科-09-06 16:41
两种方法各有弊端,建议更清楚该问题的同学来回答一下这个问题,我抛砖引玉了。
精彩评论