因为你
childFragmentManager
AndroidX
因此,包装
findFragmentById
的返回类型为
androidx.Fragment
.
YouTubePlayerSupportFragment
android.support.v4.app.Fragment
所以在编译时,这是两个独立的类型
cannot be cast to each other
.
问题是
Youtube SDK
不使用
androidx
enabling jetifier
gradle.properties
:
android.enableJetifier=true
这将通过将第三方库中的所有支持类迁移到
,因此您的强制转换将在运行时成功。但是,Android studio警告仍然存在-您可以禁止它:
// CAST_NEVER_SUCCEEDS can be ignored - happens because Youtube SDK's fragment is not
// androidx.Fragment, but Jetifier will take care of that and cast will succeed
@Suppress("CAST_NEVER_SUCCEEDS")