Android: No se puede realizar esta acción después de onSaveInstanceState

Todavía no estoy claro sobre el manejo de fragmentos junto con otras cosas que ocurren en mi actividad. A continuación se muestra el seguimiento de la pila:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2, result=-1, data=Intent { (has extras) }} to activity {com.ghcssoftware.gedstar/com.ghcssoftware.gedstar.GedStar}: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.app.ActivityThread.deliverResults(ActivityThread.java:2747) at android.app.ActivityThread.handleSendResult(ActivityThread.java:2790) at android.app.ActivityThread.access$2000(ActivityThread.java:122) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1035) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:132) at android.app.ActivityThread.main(ActivityThread.java:4028) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:491) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:844) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:602) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1299) at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1310) **at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:471) at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.popStack(PersonTab.java:157)** at com.ghcssoftware.gedstar.PersonTab$PersonTabFrag.fillData(PersonTab.java:165) at com.ghcssoftware.gedstar.ViewTab.fillData(ViewTab.java:96) at com.ghcssoftware.gedstar.GedStar.fillData(GedStar.java:589) at com.ghcssoftware.gedstar.GedStar.onActivityResult(GedStar.java:514) at android.app.Activity.dispatchActivityResult(Activity.java:4541) at android.app.ActivityThread.deliverResults(ActivityThread.java:2743) 

Así que esto parece que es mi llamada a popBackStack dentro de esta función donde estoy limpiando cualquier fragmentos apilados en uno de mis paneles de vista:

  // Pop fragments from second pane private void popStack() { if (mDualPane && mBottomId >= 0) { mViewTab.getTabHelper().tabGetFragManager().popBackStack(mBottomId, FragmentManager.POP_BACK_STACK_INCLUSIVE); mBottomId = -1; } } 

Principalmente no estoy seguro de por qué todo esto está ocurriendo "después de OnSaveInstanceState" se ha llamado, o si eso es lo que realmente está sucediendo. ¿Alguna explicación? ¿El popBackStackImmediate marcaría una diferencia?

Por lo que vale, no he sido capaz de recrear las circunstancias en mis pruebas, por lo que sólo aparece en los informes.

One Solution collect form web for “Android: No se puede realizar esta acción después de onSaveInstanceState”

El problema, que es evidente al mirar la traza, es que estaba llamando a popStack de código en mi método onActivityResult, que se llama antes onResume. Moví la llamada a onResume y la arreglé.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.