Note that there are some explanatory texts on larger screens.

plurals
  1. POIllegalStateException on FragmentManager
    primarykey
    data
    text
    <p>My app keeps to report this issue on many Android platforms (4.1, 4.0.4, 2.3.6...). But I could not reproduce this issue on my phone. I have searched for this issue by Google, but the stack trace seems not the same as my.</p> <p>Does someone know how the issue happening? And how to prevent it? Or how can I reproduce this error? Thank you.</p> <p>Stack trace:</p> <pre><code>java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1327) at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1338) at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:595) at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:574) at android.support.v4.app.FragmentTabHost.onAttachedToWindow(FragmentTabHost.java:278) at android.view.View.dispatchAttachedToWindow(View.java:12064) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2707) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2714) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1339) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1131) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:4611) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:725) at android.view.Choreographer.doCallbacks(Choreographer.java:555) at android.view.Choreographer.doFrame(Choreographer.java:525) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:711) at android.os.Handler.handleCallback(Handler.java:615) at android.os.Handler.dispatchMessage(Handler.java:92) at android.os.Looper.loop(Looper.java:137) at android.app.ActivityThread.main(ActivityThread.java:4898) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775) at dalvik.system.NativeStart.main(Native Method) </code></pre> <p>-------------------- Edit --------------------</p> <p>To Jonathan:</p> <p>I have two fragments. And only one fragment overwrites the <code>onPause</code> callback, and the codes are as below. And I don't overwrite the other callbacks after <code>onPause</code>. Another callback I overwrite is the <code>onResume</code> callback, the codes are as below too.</p> <p><strong>Fragment:</strong></p> <pre><code>@Override public void onPause() { super.onPause(); if (mView instanceof MyView) { MyView my = (MyView) mView; my.onPause(); } } @Override public void onResume() { super.onResume(); if (mView instanceof MyView) { MyView my = (MyView) mView; my.onResume(); } } </code></pre> <p><strong>MyView:</strong></p> <pre><code>public void onPause() { pause = true; } public void onResume() { pause = false; if (mDialog != null &amp;&amp; mDialog.isShowing()) { mDialog.dismiss(); mDialog = null; } } </code></pre> <p>I also trace the codes of <code>FragmentActivity</code>/<code>FragmentManager</code>, it seems if the <code>onAttachedToWindow()</code> be called before <code>onPostResume()</code>, then the issue will happen. Is it possible that the <code>onAttachedToWindow()</code> be called before <code>onPostResume()</code>?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload