YouTubePlayerSupportFragment

YouTubePlayerSupportFragment

我需要动态创建YouTubePlayer,无法在YoutubeBaseActivity上进行扩展。因此,我只需要创建YouTubePlayerSupportFragment。我试图这样做:

container_more_info_item-它是我的linearLayout

//create video
        for(int j = 0; j < 5; j++) {
            final YouTubePlayerSupportFragment ysF = new YouTubePlayerSupportFragment();
            ysF.initialize("AIzbSyAT5C-xs5YG1HzG69Fn__PHq9DHXBuKpws", new YouTubePlayer.OnInitializedListener() {
                @Override
                public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                    youTubePlayer.cueVideo("IjUlQU6yifk");
                }

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

                }
            });

//this line error, because ViewGroup can not be applied com.google.android.youtube.player.YouTubePlayerSupportFragment
            container_more_info_item.addView(ysF);
        }


现在我陷入困境,无法提出一些建议

UPD:

我使用FragmentManager,但有以下消息:


  无法解析方法'add(int,com.google.android.youtube.player.YouTubePlayerSupportFragment)


 //create video
        for(int j = 0; j < 5; j++) {
            final YouTubePlayerSupportFragment ysF = new YouTubePlayerSupportFragment();
            ysF.initialize("AIzaSyAT5C-xs5YG1HzG69Fn__PHq9DHXBuKpws", new YouTubePlayer.OnInitializedListener() {
                @Override
                public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
                    youTubePlayer.cueVideo("IjUlQU6yifk");
                }

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

                }
            });

            LinearLayout ll = new LinearLayout(this);
            ll.setOrientation(LinearLayout.HORIZONTAL);

            ll.setId(j);

            FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragTransaction = fragmentManager.beginTransaction();
//Cannot resolve method 'add(int, com.google.android.youtube.player.YouTubePlayerSupportFragment)
            fragTransaction.add(ll.getId(), ysF);
            fragTransaction.commit();

            container_more_info_item.addView(ll);
        }

最佳答案

YouTubePlayerSupportFragment不是View它是Fragment

添加片段的过程与添加视图有些不同。

要添加片段:

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.add(R.id.your_fragment_container, ysF);
ft.commit();


https://developer.android.com/guide/components/fragments.html#Transactions

10-08 00:23