9

フラグメントでビデオを再生しようとしています。しかし、私はそれを機能させることができません。「YoutubeFailureRecovery」を拡張している場合、次のようになります。

09-06 21:56:40.472: E/AndroidRuntime(4946): 原因: java.lang.IllegalStateException: YouTubePlayerView は、YouTubeBaseActivity をコンテキストとして拡張するアクティビティでのみ作成できます。

これは私の.xmlです:

<com.google.android.youtube.player.YouTubePlayerView
    android:id="@+id/player"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

そして、これはクラスです:

public class YoutubeFragment extends YoutubeFailureRecovery {

    YouTubePlayer player;
    YouTubePlayerView playerView;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle arg2) {
        // TODO Auto-generated method stub
        return inflater.inflate(R.layout.detailview, container, false);
    }

    @Override
    public void onStart() {
        // TODO Auto-generated method stub
        super.onStart();
        playerView = (YouTubePlayerView)getActivity().findViewById(R.id.player);
        playerView.initialize(DataHolder.DEVELOPER_KEY, this);

    }

    @Override
    public void onInitializationSuccess(Provider provider, YouTubePlayer player,
                                        boolean wasRestored) {
        // TODO Auto-generated method stub
        player.cueVideo("nCgQDjiotG0");
    }

    @Override
    protected Provider getYouTubePlayerProvider() {
        // TODO Auto-generated method stub
        return playerView;
    }
}


public abstract class YoutubeFailureRecovery extends YouTubePlayerSupportFragment implements YouTubePlayer.OnInitializedListener{

どうすればいいのかわからない。Fragment クラスを 'YoutubePlayerSupportFragment' で拡張しようとしましたが、XML でビデオのようなフラグメントを追加しようとしましたが、何も機能していません (膨張エラー)。Fragment で YouTube API を使用した経験のある人がいるでしょうか?

4

1 に答える 1