"Diese Aktion kann nach onSaveInstanceState nicht ausgeführt werden" - Warum erhalte ich diese Ausnahme von der onResume-Methode meiner Aktivität?

Meine Tätigkeit ruft Sie die Kamera mit der ACTION_IMAGE_CAPTURE Absicht. Wenn die Aktivität der Kamera gibt erfolgreich, setze ich ein flag in der onActivityResult Rückruf, und auf der Grundlage des Wertes der flag starte ich ein fragment in meinem onResume zum hinzufügen einer Beschriftung zu einem Bild erfasst wurde. Dies scheint zu funktionieren ok.

Ich habe gerade einen stack-trace, aus dem "wilden" und beschwerte sich, dass ich versucht habe, zu Begehen, ein fragment Transaktion nach onSaveInstanceState aufgerufen wurde. Aber ich mache das commit in meinem onResume-Methode! Warum sollte android beklagen? Ich habe android:configChanges="orientation|keyboardHidden|Tastatur|screenSize" Satz in meinem AndroidManifest.xml so eine Orientierung zu ändern, sollten Sie nicht auslösen....

Dies geschah auf einem Samsung Galaxy S3 (SGH-i747) mit 4.0.4

Ist hier der stack:

java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
    at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
    at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
    at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:548)
    at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:532)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.performFragmentTransition(AddPhotosActivity2.java:278)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.switchToCaptionsFragment(AddPhotosActivity2.java:438)
    at com.Familiar.Android.FamiliarAppV1.AddPhotosActivity2.onResume(AddPhotosActivity2.java:167)
    at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1158)
    at android.app.Activity.performResume(Activity.java:4544)
    at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2448)
    at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2486)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1187)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4514)
    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:980)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
    at dalvik.system.NativeStart.main(Native Method)

Jede Hilfe oder Weisheit sehr geschätzt wird.

InformationsquelleAutor der Frage PacificSky | 2012-09-16

Schreibe einen Kommentar