2015-07-13 4 views
7

Benutzer der App, an der ich arbeite, haben ein Absturzproblem. Dies ist der Stack-Trace, den ich von der Konsole bekomme.Android Fragment null Objekt mNextAnim Internal Crach

java.lang.NullPointerException: Attempt to write to field 'int android.support.v4.app.Fragment.mNextAnim' on a null object reference 
at android.support.v4.app.BackStackRecord.popFromBackStack(BackStackRecord.java:924) 
at android.support.v4.app.FragmentManagerImpl.popBackStackState(FragmentManager.java:1605) 
at android.support.v4.app.FragmentManagerImpl$4.run(FragmentManager.java:532) 
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501) 
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458) 
at android.os.Handler.handleCallback(Handler.java:739) 
at android.os.Handler.dispatchMessage(Handler.java:95) 
at android.os.Looper.loop(Looper.java:145) 
at android.app.ActivityThread.main(ActivityThread.java:5942) 
at java.lang.reflect.Method.invoke(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:372) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 

Der Absturz passiert nur mit Benutzern, die Galaxy Note3 oder Galaxy S4-Telefone mit 5.x oder zumindest denjenigen, unserem einzigen haben, über die berichtet wurde, aber es hat eine Menge passieren. Es scheint beim Übergang zwischen Fragmenten oder manchmal beim Zurückkommen von der Kamera zu passieren. Hier sind meine Übergangsmethoden.

Dies sind die einzigen Methoden, die in der App den Übergang machen. Ich gehe also davon aus, dass es von einem dieser Punkte kommt. Aber der Stack-Trace geht nicht auf irgendeinen Code zurück, den ich geschrieben habe, also bin ich mir nicht sicher. Ich habe ähnliche Probleme festgestellt, die besagen, dass dies ein Problem mit Android 5.x ist und dass es keine Lösung gab. So dass jede Hilfe dieses Problem zu entfernen, würde große

+0

haben Sie versucht, commitAllowingStateLoss() durch commit() zu ersetzen? – user2641570

+0

Nein, ich habe nicht versucht, dass ich versuchen kann, es zu ersetzen, sehen, was passiert. – sethprogrammer

+0

Das hat es behoben aber verursachte Probleme bei älteren Geräten Abstürze und andere Probleme – sethprogrammer

Antwort

15

Es ist, weil Sie remove()add() usw. Methoden mit null Wert aufrufen.

und bitte beachten Sie, dass replace() = remove() ->add() eins nach dem anderen.