做项目到最后整合的时候测试的时候发现 切换tab更换fragment的时候抛出了这个异常,根据异常信息Can not perform this action after onSaveInstanceState,
定位到:
FragmentManager manager = getSupportFragmentManager(); FragmentTransaction transaction = manager .beginTransaction(); transaction .replace(R.id.ll_content, new SellerFragment()); transaction.commit();
可以了解到异常原因:在onSaveInstanceState行为之后,app执行某个不能响应的行为而导致异常发生。也许你并没有用saveInstance手动的保存当前的状态但是也报了这个错误。
然后有人说:
把
transaction.commit();
方法替换成
transaction.commitAllowingStateLoss()就行
了,其效果是一样的。然后试了下果真解决了。
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState解决?
原文:http://www.cnblogs.com/yjpjy/p/5117187.html