Berücksichtigen Sie, dass ich ein Objekt mit einer YouTube videoId als einen der Parameter in einer Listenansicht habe. Ich weiß, wie man den OnItemClickListener verwendet und wie man ein Extra durch eine Absicht weitergibt. Wenn ich zur empfangenden Aktivität komme, muss ich intent.getStringExtra ("key") in der onCreate-Methode aufrufen. Ich brauche das videoId abgerufen in einer anderen Methode, OnInitializationSuccess, wenn ich die CueVideo (videoId) -Methode aufrufen. Kannst du nicht nur erklären, was zu tun ist, sondern warum ich es für mein eigenes Wachstum verstehen kann.Pass Youtube Video ID durch Absicht
public class PlayVideo extends YouTubeBaseActivity
implements YouTubePlayer.OnInitializedListener{
private String GOOGLE_API_KEY = "AIzaSyCKcPfcvaFtN_izxXg7lzEcKVdF0A-7y1Q";
String VIDEO_ID = "ZHAe-SaplCw";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_play_video);
YouTubePlayerView playerView = (YouTubePlayerView) findViewById(R.id.player_view);
playerView.initialize(GOOGLE_API_KEY, this);
//Get videoId from current ListView Object
Intent getVideoId = getIntent();
String videoId = getVideoId.getStringExtra("videoIdExtra");
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean wasRestored) {
Toast.makeText(this, "Video Playing", Toast.LENGTH_SHORT).show();
youTubePlayer.setPlayerStateChangeListener(playerStateChangeListener);
youTubePlayer.setPlaybackEventListener(playbackEventListener);
if(!wasRestored){
youTubePlayer.cueVideo(VIDEO_ID);
}
}
private YouTubePlayer.PlaybackEventListener playbackEventListener = new YouTubePlayer.PlaybackEventListener() {
@Override
public void onPlaying() {
}
@Override
public void onPaused() {
}
@Override
public void onStopped() {
}
@Override
public void onBuffering(boolean b) {
}
@Override
public void onSeekTo(int i) {
}
};
YouTubePlayer.PlayerStateChangeListener playerStateChangeListener = new YouTubePlayer.PlayerStateChangeListener() {
@Override
public void onLoading() {
}
@Override
public void onLoaded(String s) {
}
@Override
public void onAdStarted() {
}
@Override
public void onVideoStarted() {
}
@Override
public void onVideoEnded() {
}
@Override
public void onError(YouTubePlayer.ErrorReason errorReason) {
}
};
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(this, "Play Failed", Toast.LENGTH_SHORT).show();
}
}
hilft 'getVideoId.getStringExtra', Also, was ist die Frage? –
Ich hatte einen Brain Fart, ich erkannte gerade, dass ich eine globale Variable erstellen kann, initialisiere sie in der onCreate Methode und rufe sie dann in der onInitializationSuccess Methode auf. Aber das war mein Problem. – Sav
Keine Sorgen. Fühlen Sie sich frei, meine Antwort zu akzeptieren, wenn Sie wollen –