フラグメントから拡張されたアクティビティがあります
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
}
});
}
これはタブレットで完全に機能します。2 つのフラグメントを使用したアクティビティがあり、左は動画のリスト、右は 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);
しかし、常にクラッシュします。私はそれについての情報を検索しましたが、利用できる情報があまりないか、見つかりませんでした:)
私は何を間違っていますか?
新しいフラグメントを正しく動作させると、フラグメントを間違って呼んでいると思います
助けていただければ幸いです。
よろしくお願いいたします