2016-12-06 6 views
0

drücken Ich habe eine Recycler-Ansicht, die andere Fragmente mit ersetzen öffnet. Das Problem ist, wenn ich ein Fragment aus der Liste aus und drücken Sie zurück zu schnell direkt nach ihnen an einem gewissen Punkt der Anwendung abstürzt mit folgendem Problem zu öffnen beginnen:Schnelles Umschalten zwischen Fragmenten stürzt ab, während Sie die Taste

E/InputEventSender: Exception dispatching finished signal. 
E/MessageQueue-JNI: Exception in MessageQueue callback: handleReceiveCallback 
E/MessageQueue-JNI: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState 
        at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1527) 
        at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1545) 
        at android.support.v4.app.FragmentManagerImpl.popBackStack(FragmentManager.java:590) 

Manchmal auch er sagt kein Host und beiden Fällen des Problem ist, dass die Aktivität nicht verfügbar ist, um die Fragmente anzuzeigen. Der Stacktrace, der angezeigt wird, enthält keine detaillierte Nachricht zu einem anderen Problem. Und jetzt ist die Frage, was verursacht die Aktivität zerstören? Wie versteht man das?

Ich benutze popBackStackImmediate Methode auf Schaltfläche zurück.

+0

Ein mögliches Duplikat von [dieser Link] (http://stackoverflow.com/questions/7469082/getting-exception-illegalstateexception-can-not-perform-this-action-after-onsa) –

Antwort

0

Benutzer FragmentManager entsprechend und fügen Fragmente zu BackStack. Bevor Sie den Artikel aus dem Backstack herausholen, prüfen Sie, ob der Backstack nicht zuerst leer ist.

+0

Wäre das nicht Abdeckung des Hauptproblems? Ich habe immer ein Fragment auf dem Home-Bildschirm, das im Backstack verfügbar sein sollte. – karate