Есть еще несколько подобных вопросов, но все они относятся к библиотеке поддержки 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 сбой не происходит. Проблемное приведение добавлено здесь:
https://android.googlesource.com/platform/frameworks/support/+/1b07d07c5a5ca70bdddeab356e7f5175f60094d4%5E%21/#F4
Этот сбой происходит после вызова:
supportFragmentManager
.beginTransaction()
.remove(f)
.commit()
И единственный найденный мной обходной путь - удалить выходпереход:
f.exitTransition = Slide(gravity)
Обратите внимание, фрагмент f имеет тип: androidx.fragment.app.Fragment
Есть идеи?