java.lang.IllegalStateException
来源:互联网 发布:plc编程自制功能块 编辑:程序博客网 时间:2024/06/06 00:11
java.lang.IllegalStateException
commit引起的
java.lang.IllegalStateExceptionCan not perform this action after onSaveInstanceStateandroid.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1448)android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1466)android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:634)android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:613)......
这个异常是由于执行commit fragment的时候,onSaveInstanceState已经在这之前被调用了。从调用堆栈可以看出异常是在checkStateLoss中抛出的
private void checkStateLoss() { if (mStateSaved) { throw new IllegalStateException( "Can not perform this action after onSaveInstanceState"); } if (mNoTransactionsBecause != null) { throw new IllegalStateException( "Can not perform this action inside of " + mNoTransactionsBecause); } }
要抛出IllegalStateException 那么显然mStateSaved为true,而mStateSavad是在onSaveInstanceState的时候被设置为true。
解决方案
commit替换为commitAllowingStateLoss
commitAllowingStateLoss里面不会调用checkStateLoss 所以不会抛出异常
onBackPressed引起的
java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1109) at android.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:399) at android.app.Activity.onBackPressed(Activity.java:2066) at android.app.Activity.onKeyUp(Activity.java:2044) at android.view.KeyEvent.dispatch(KeyEvent.java:2529) at android.app.Activity.dispatchKeyEvent(Activity.java:2274) ......
同上的原因一样都是由checkStateLoss中抛出的异常
解决方案
override onBackPressed不调用super.onBackPressed, 自己调用finish销毁activity
@Override public void onBackPressed() {// super.onBackPressed(); finish(); }
0 0
- java.lang.IllegalStateException翻译
- java.lang.IllegalStateException 异常
- java.lang.IllegalStateException
- java.lang.IllegalStateException 解决办法
- java.lang.IllegalStateException
- java.lang.IllegalStateException ,IllegalComponentStateException
- struts2 java.lang.IllegalStateException
- java.lang.IllegalStateException
- java.lang.IllegalStateException
- java.lang.IllegalStateException
- java.lang.IllegalStateException: EMF2DOMAdapterImpl_ERROR_0
- java.lang.IllegalStateException
- java.lang.IllegalStateException
- java.lang.IllegalStateException:…
- java.lang.IllegalStateException
- java.lang.IllegalStateException
- java.lang.IllegalStateException:…
- java.lang.IllegalStateException问题解决
- java.lang.Math
- excel打开csv 出现乱码怎么解决
- java导出excel大量数据出现错误时解决办法
- 高效学习OpenGL之执行多个显示列表glListBase(),glCallLists()
- android学习笔记之基本事件的响应
- java.lang.IllegalStateException
- 十进制浮点数的二进制转换及存储
- 设计模式六原则
- MalformedJsonException
- caffe interface --- matlab
- 网络编程之URL和URLConnection
- window.close()在火狐中不起作用
- log4j
- 松耦合和紧耦合的架构设计及性能对比