Can not perform this action after onSaveInstanceState 比较完整的stack如下:

来源:互联网 发布:seo排名优化是什么 编辑:程序博客网 时间:2024/05/29 10:58

20. 在debug带有android.support.v4的包时,结果出现下面的错误:

  05-10 15:47:09.850: E/AndroidRuntime(12744): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState

比较完整的stack如下:

105-10 15:47:06.470: W/dalvikvm(12744): threadid=1: thread exiting with uncaught exception (group=0x40a4b1f8)
205-10 15:47:09.850: E/AndroidRuntime(12744): FATAL EXCEPTION: main
305-10 15:47:09.850: E/AndroidRuntime(12744): java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
405-10 15:47:09.850: E/AndroidRuntime(12744):    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1299)
505-10 15:47:09.850: E/AndroidRuntime(12744):    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1310)
605-10 15:47:09.850: E/AndroidRuntime(12744):    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:541)
705-10 15:47:09.850: E/AndroidRuntime(12744):    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:525)
805-10 15:47:09.850: E/AndroidRuntime(12744):    at android.support.v4.app.DialogFragment.show(DialogFragment.java:123)
在此处有人也一个有点类似问题:

http://stackoverflow.com/questions/7575921/illegalstateexception-can-not-perform-this-action-after-onsaveinstancestate-h

我看到上面有提到onSaveInstanceState(),于是就重写了下这个.像上面说的不能调用super.我调用了,而且居然就tmd没有错误提示了..


1:在FreameDialog里加onSaveInstanceState(),我碰到的亲故康不是去掉super。onSaveInstanceState(),而是

  原封不动的重写,就不怎么报错了,不过好像偶尔碰到过一次错误,不频繁了。估计是代码内部bug,

一直在Activity里重写onSaveInstanceState方法,所以一直解决不了,困扰了很久。