我刚刚将 Android Studio 更新到版本 3.2,并按照说明使用 androidx。
我一直在 Fragment 事件中使用 Youtube 片段,一切都运行良好,但是更新后,这 3 行简单的代码现在给我错误“无法解析方法 'add(...)'”:
YouTubePlayerSupportFragment youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();
...当我尝试使用“替换”而不是“添加”时,它显示:“第二个参数类型错误。找到:'com.google.android.youtube.player.YouTubePlayerSupportFragment',必需:'androidx. fragment.app.Fragment'"
...这让我认为问题与新的 AndroidX 功能有关。
问题是add方法需要第二个参数类型:
androidx.fragment.app.Fragment
...但是 YouTubePlayerSupportFragment 返回:
android.support.v4.app.Fragment
有谁知道这个问题怎么解决吗? 有没有办法将“android.support.v4.app.Fragment”转换为“androidx.fragment.app.Fragment”?
最佳答案
只需使用transaction.replace
。忽略该错误,它会起作用。 Google 尚未将 youtube api 库重构为 androidx
。
关于YouTube 播放器支持片段不再适用于 Android studio 3.2 (androidx),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577000/