还有其他一些类似问题,但都涉及Android支持库。我正在使用新的androidx库。
将androidx生命周期依赖项从2.2.0-alpha03更新到2.2.0-alpha04之后,出现以下崩溃(在Android 9上:]]
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.myapp, PID: 12345 java.lang.ClassCastException: androidx.transition.TransitionSet cannot be cast to android.transition.Transition at androidx.fragment.app.FragmentTransition.setListenerForTransitionEnd(FragmentTransition.java:307) at androidx.fragment.app.FragmentTransition.configureTransitionsOrdered(FragmentTransition.java:419) at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:139) at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2383) at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2341) at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2244) at androidx.fragment.app.FragmentManager$3.run(FragmentManager.java:422) at android.os.Handler.handleCallback(Handler.java:873) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7037) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
与版本2.2.0-alpha05相同。
更新:实际上,似乎是androidx片段1.2.0-alpha03被引入了,这引起了问题。使用片段1.2.0-alpha02时,不会发生崩溃。在此处添加有问题的演员表:
此崩溃发生在致电后:
supportFragmentManager .beginTransaction() .remove(f) .commit()
而且我发现的唯一解决方法是删除退出过渡:
f.exitTransition = Slide(gravity)
注意,片段f的类型为:
androidx.fragment.app.Fragment
有什么想法吗?
还有其他一些类似问题,但都涉及Android支持库。我正在使用新的androidx库。从2.2.0-alpha03更新androidx生命周期依赖关系后...
此问题已在即将发布的Fragment 1.2.0-beta01版本中修复。