我有一个从片段扩展的活动
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);
但总是崩溃。 我搜索了有关它的信息,但没有太多可用,或者没有找到它:)
我做错了什么?
我想我正在调用我的片段错误,因为当我做一个新的工作正常时
我感谢任何帮助。
谢谢和亲切的问候
答案 0 :(得分:4)
您似乎已在XML中添加了YouTubePlayerFragment
,但是您尝试将其转换为代码中的YouTubePlayerSupportFragment
。尝试替换此行:
android:name="com.google.android.youtube.player.YouTubePlayerFragment"
有了这个:
android:name="com.google.android.youtube.player.YouTubePlayerSupportFragment"