ich manchmal die folgende Ausnahme erhalten, wenn sie mit Fragmenten arbeiten:Android FragmentManager BackStackRecord.run werfen Nullpointer
FATAL EXCEPTION: main
java.lang.NullPointerException
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:591)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1416)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:420)
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:4745)
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:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Die Ausnahme tritt auf, wenn run()
von BackStackRecord
durch execPendingTransactions()
genannt wird, wenn es versucht, ein Fragment aus dem Manager zu entfernen .
case OP_REMOVE: {
Fragment f = op.fragment;
f.mNextAnim = op.exitAnim; <----
mManager.removeFragment(f, mTransition, mTransitionStyle);
}
break;
Ich kann nicht scheinen, herauszufinden, was genau das verursacht? Ich denke, es hat mit dem Stapel von Fragmenten zu tun, die nicht direkt beim Entfernen von Fragmenten aufgeräumt werden.
Gute Antwort - Dies half mir, mein eigenes Problem zu lösen. Beachten Sie, dass Sie beim Aufruf von FragmentTransaction.show (null), .hide (null) usw. nicht nur .remove (null) den gleichen Fehler erhalten. Hoffentlich hilft dies anderen ihr Problem aufzuspüren. –
Danke @NickL ...... – hemu
Hat mir sehr geholfen! Beachten Sie, dass es mit keiner Aktion fehlschlägt, die mit einem Nullfragment gesendet wird (in meinem Fall 'attach'' detach') – shinyuX