1

我有一个从片段延伸的活动

public class Youtube_visor extends Fragment{ ...

以及使用 YouTubePlayerSupportFragment 创建新 YouTube 播放器的方法

这是我的代码:

public void playVideo () {

        fragmentManager = getActivity().getSupportFragmentManager();
        fragmentTransaction = fragmentManager.beginTransaction();

        YouTubePlayerSupportFragment player = new YouTubePlayerSupportFragment();
        fragmentTransaction.add(R.id.fragmentz, player); // fragmentz es un linearlayout que hay en el xml
        fragmentTransaction.commit();

        player.initialize(Static_generals.youtubeKey,new OnInitializedListener() {

            public void onInitializationSuccess(Provider arg0,
                    YouTubePlayer arg1, boolean arg2) {
                if (!arg2) {
                    arg1.cueVideo("3OhGkg_XT3o");
                }
            }

            @Override
            public void onInitializationFailure(Provider arg0,YouTubeInitializationResult arg1) {
                // Error
            }
        });
    }

这在平板电脑上完美运行,我有一个包含两个片段的活动,左边是视频列表,右边是创建 YouTube 播放器的片段

我的问题是我不想创建一个新的 YouTubePlayer,我想在 xml 中声明一个并始终使用它。这是在 xml 中声明的片段:

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

现在,在我的代码中,我替换了这一行:

YouTubePlayerSupportFragment player = new YouTubePlayerSupportFragment();

并把这条新线:

YouTubePlayerSupportFragment player = (YouTubePlayerSupportFragment) getActivity().getSupportFragmentManager().findFragmentById(R.id.youtube_fragment);

但总是崩溃。我搜索了有关它的信息,但可用的信息不多,或者没有找到:)

我究竟做错了什么?

我想我把我的片段叫错了,因为当我做一个新的工作正常时

我很感激任何帮助。

谢谢和亲切的问候

4

1 回答 1

4

看起来您已将 aYouTubePlayerFragment放入 XML 中,但您正试图将其转换为YouTubePlayerSupportFragment代码中的 a。尝试替换此行:

android:name="com.google.android.youtube.player.YouTubePlayerFragment"

有了这个:

android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"
于 2013-03-25T21:19:43.207 回答