2013-03-22 79 views
1

我从一个片段崩溃使用YouTubePlayerSupportFragment

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

很老的问题,但也许你还记得:你找到了解决办法? – wzieba 2014-10-21 14:03:45

回答

4

看起来你已经把你的XML一个YouTubePlayerFragment,但你试图把它转换为YouTubePlayerSupportFragment中的代码。尝试更换这行:

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

有了这个:

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