【问题标题】:Youtube Player View within Tab Fragment标签片段中的 Youtube 播放器视图
【发布时间】:2018-08-12 05:22:31
【问题描述】:

我只是在我的一个标签片段中使用 YoutubePlayer,但无法集成它!

使用这段代码,它给了我这个错误。

Binary XML file line #0: Error inflating class com.google.android.youtube.player.YouTubePlayerView
                                                                       Caused by: android.view.InflateException: Binary XML file line #0: Error inflating class com.google.android.youtube.player.YouTubePlayerView

这是我的 Fragment 类。

public class Frag_Trailer extends Fragment {

    YouTubePlayerView mYouTubePlayerView;
    YouTubePlayer.OnInitializedListener mOnInitializatedListener;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View rootView =  inflater.inflate(R.layout.fragment_trailer, container, false);
        mYouTubePlayerView = (YouTubePlayerView)rootView.findViewById(R.id.view_youtube);
        mYouTubePlayerView.initialize(YouTubeConfig.getYoutubeApiKey(), mOnInitializatedListener);

        mOnInitializatedListener = new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                youTubePlayer.loadVideo("_XgQA9Ab0Gw");
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
            }
        };

        return rootView;
    }
}

这是我在 build.gradle 中的依赖项。

dependencies { 
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:cardview-v7:23.3.0' 
    implementation 'com.android.support:design:23.3.0' 
    implementation files('libs/YouTubeAndroidPlayerApi.jar') 
} 

【问题讨论】:

  • 请分享您的build.gradle
  • 我应该在 build.gradle 中添加一些东西吗?就这个;依赖项 { 实施 'com.android.support.constraint:constraint-layout:1.0.2' 编译 'com.android.support:cardview-v7:23.3.0' 实施 'com.android.support:design:23.3.0'实现文件('libs/YouTubeAndroidPlayerApi.jar') }
  • 请像这样修改build.gradle中包含的jar,如果问题仍然存在,请告诉我。 implementation fileTree(dir: 'libs', include: ['*.jar'])
  • 错误仍然出现。我想我把课弄错了。

标签: android fragment


【解决方案1】:

基于此answer

您必须使用YouTubeBaseActivity 扩展您的活动。但是在您的情况下,您在 Fragment 上实现它,所以像这样更改您的视图 XML

<fragment
  android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
  android:id="@+id/youtubesupportfragment"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"/>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-10
    • 1970-01-01
    • 2021-01-16
    • 2020-04-29
    • 2013-03-27
    • 2014-05-01
    • 2013-12-16
    • 1970-01-01
    相关资源
    最近更新 更多