【问题标题】:YouTubePlayerFragment not working in RecycleViewYouTubePlayerFragment 在 RecycleView 中不起作用
【发布时间】:2017-04-30 20:23:30
【问题描述】:

我正在开发一个应用程序,其中大部分工作都是使用 Fragments 完成的。在一个片段中,我必须展示一个包含 Youtube 播放器的回收视图。但 Youtube Player 只出现在回收视图的第一行。我有这个 recycleView 适配器的代码。

 public static class VideoViewHolder  extends RecyclerView.ViewHolder  {
       public FrameLayout ViewVideo;
     ViewVideo = (FrameLayout) itemView.findViewById(R.id.MainVideo);
    }

关于绑定方法

public void onBindViewHolder(VideoViewHolder holder, final int position) {  
youTubePlayerFragment = new YouTubePlayerSupportFragment();   
        FragmentTransaction transaction = VideoPage.getChildFragment().beginTransaction();
        transaction.replace(holder.ViewVideo.getId(), youTubePlayerFragment).commit();
        youTubePlayerFragment.initialize("****************************", new YouTubePlayer.OnInitializedListener() {
            @Override
            public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                if (!b) {
                    youTubePlayer.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
                    youTubePlayer.loadVideo(VideoAvaliable[position]);
//                    youTubePlayer.play();
                }
            }

            @Override
            public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
                String errorMessage = youTubeInitializationResult.toString();
                Toast.makeText(context, errorMessage, Toast.LENGTH_LONG).show();
            }
        });

在我的布局中

<FrameLayout
    android:id="@+id/MainVideo"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:scaleType="centerCrop"
    android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
    android:layout_weight="1"/>

【问题讨论】:

    标签: android android-fragments youtube-api android-recyclerview android-youtube-api


    【解决方案1】:

    用'FrameLayout'代替

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

    试试

    【讨论】:

    • 在我用片段替换框架布局后应用程序崩溃
    • @imrohit 我正在使用 Fragment 视频正在播放,但在一毫秒后它停止了。你有什么想法?我把 放在 内,否则它会崩溃
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2020-12-27
    • 1970-01-01
    • 2016-02-07
    • 2018-02-25
    • 1970-01-01
    相关资源
    最近更新 更多