14

フラグメントを含むアプリがあり、それらのフラグメント内に YouTubePlayerSupportFragment を追加するフレーム レイアウトがあります。しかし、全画面表示をクリックすると、次の例外がスローされます。

java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.example.xxx/com.example.xxx.MainActivity}: java.lang.IllegalArgumentException: ID 0x7f040039 のビューが見つかりません (com.example.xxx:id/frame_youtube)フラグメントの場合 YouTubePlayerSupportFragment{4282a068 #11 id=0x7f040039}

4

3 に答える 3

42

または、1 行で無効にすることもできます。

player.setShowFullscreenButton(false);
于 2015-01-29T07:55:04.413 に答える
18

私は同じ問題に直面し、それを処理する方法を見つけました。フラグメントのOnInitializedListener()場合、次のようにします。

@Override
public void onInitializationSuccess(Provider arg0,
final YouTubePlayer player, boolean arg2) {
//Tell the player you want to control the fullscreen change
player.setFullscreenControlFlags(YouTubePlayer.FULLSCREEN_FLAG_CUSTOM_LAYOUT);
//Tell the player how to control the change
player.setOnFullscreenListener(new OnFullscreenListener(){
@Override
public void onFullscreen(boolean arg0) {                    
// do full screen stuff here, or don't. I started a YouTubeStandalonePlayer 
// to go to full screen
}});

}});

また、 YouTubeStandalonePlayerを使用して全画面表示を処理していたため、まだエラーが発生したため、呼び出して解決しました

finish(); 

OnPause()の活動のために。ユーザーが戻るボタンを押した場合、中断した場所には戻らないことを覚えておいてください。インテントを介してユーザーを YouTube アプリに送信することもできます。これは、finish()テストしたときに OnPause を必要としませんでしたが、私のニーズやスタンドアロン プレーヤーには適していませんでした。

編集:フルスクリーン ボタンを削除する場合は、次のようにプレーヤー スタイルを設定することもできます。

PlayerStyle style = PlayerStyle.MINIMAL;
player.setPlayerStyle(style);
于 2013-03-20T17:19:04.770 に答える