2013-03-22 80 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"