java.lang.NullPointerException: Attempt to read from fIEld 'int androID.support.v4.app.Fragment.mContainerID' on a null object reference at androID.support.v4.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1012) at androID.support.v4.app.FragmentTransition.calculateFragments(FragmentTransition.java:971) at androID.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:95) at androID.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2143) at androID.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098) at androID.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008) at androID.support.v4.app.FragmentManagerImpl.run(FragmentManager.java:710) at androID.os.Handler.handleCallback(Handler.java:751) at androID.os.Handler.dispatchMessage(Handler.java:95) at androID.os.Looper.loop(Looper.java:154) at androID.app.ActivityThread.main(ActivityThread.java:6077) at java.lang.reflect.Method.invoke(Native Method) at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:865) at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:755)
它只发生在我的API 24 Pixel C上.调试模式无法帮助我找出它的位置.当我删除一个删除片段的按钮时会发生这种情况,但代码的“片段删除”部分会被正确执行,执行我的OnClickListener后会发生一些事情.
我删除了交易动画并遇到了同样的崩溃.
以前有人经历过吗?
谢谢
解决方法 似乎解决方案不是保留片段的引用,而是使用标记找到它:之前:
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();courseLauncherFragment = CourseLauncherFragment.newInstance(courseID);fragmentTransaction.replace(R.ID.launcher_finish_frame_layout,courseLauncherFragment);fragmentTransaction.commit();getSupportFragmentManager().executePendingTransactions();
然后删除它:
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();fragmentTransaction.setCustomAnimations(R.anim.slIDe_in_left,R.anim.slIDe_out_left);fragmentTransaction.remove(courseLauncherFragment);fragmentTransaction.commit();
现在 :
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();fragmentTransaction.replace(R.ID.launcher_finish_frame_layout,CourseLauncherFragment.newInstance(courseID),LAUNCHER_FRAGMENT_TAG);fragmentTransaction.commit();getSupportFragmentManager().executePendingTransactions();
然后 :
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();fragmentTransaction.setCustomAnimations(R.anim.slIDe_in_left,R.anim.slIDe_out_left);Fragment fragment = fragmentManager.findFragmentByTag(LAUNCHER_FRAGMENT_TAG);fragmentTransaction.remove(fragment);fragmentTransaction.commit();总结
以上是内存溢出为你收集整理的android – 崩溃删除片段全部内容,希望文章能够帮你解决android – 崩溃删除片段所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)