在转换期间,应用程序在android sdk内崩溃

时间:2017-06-13 13:29:17

标签: android android-fragments

我遇到了奇怪的问题。有时应用程序在从一个片段导航到另一个片段时崩溃。异常有堆栈跟踪:

java.lang.NullPointerException:
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$1.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:6692)
at java.lang.reflect.Method.invoke(Native Method:0)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)

我使用支持库版本25.2.0。崩溃是随机的,所以我不能每次都重现它。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

使用getSupportFragmentManager(),您将获得supportLibrary fragmentManager而不是系统fragmentManager。所以你正在使用supportlibrary的一个事务。

这就是为什么你需要添加所有这些导入并使用android.support.v4.app。

如果你想获得系统fragmentManager,只需尝试使用getFragmentManager()而不是getSupportFragmentManager()