相关疑难解决方法(0)

NullPointerException:尝试从空对象引用上的字段'int android.app.Fragment.mContainerId'读取

在Android Lollipop上只有片段上的事务有一些有趣的问题.当我返回并删除以前添加的片段时发生崩溃.

这是stacktrace:

FATAL EXCEPTION: main
Process: com.parkme.consumer, PID: 15560
    java.lang.NullPointerException: Attempt to read from field 'int android.app.Fragment.mContainerId' on a null object reference
    at android.app.BackStackRecord$1.onPreDraw(BackStackRecord.java:1131)
    at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
    at android.view.Choreographer.doCallbacks(Choreographer.java:580)
    at android.view.Choreographer.doFrame(Choreographer.java:550)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5254)
    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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Run Code Online (Sandbox Code Playgroud)

我如何做交易:

getFragmentManager().beginTransaction()
            .replace(R.id.list_holder, listFragment)
            .commit();
Run Code Online (Sandbox Code Playgroud)

R.id.list_holder

<FrameLayout
        android:id="@+id/list_holder"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

我如何删除它:

 getFragmentManager().beginTransaction()
            .remove(listFragment)
            .commit();
Run Code Online (Sandbox Code Playgroud)

我收到了最后一个代码片段的崩溃.

UPDATE

我删除后它不再崩溃:

Transition slideTransition = TransitionInflater.from(ParkmeApplication.getContext()).inflateTransition(R.transition.slide_right); …
Run Code Online (Sandbox Code Playgroud)

java android android-fragments android-fragmentactivity

7
推荐指数
1
解决办法
6828
查看次数