【发布时间】:2019-04-30 06:26:15
【问题描述】:
我有两个活动:MainActivity 有一个 youtubePlayerView 用于显示来自 YouTube 的视频和一个“选择”按钮,ChoseVideoActivity 有两个按钮,其中包含文本“Video1”和“Video2”。
在MainActivity,我单击“选择”按钮打开ChoseVideoActivity。在ChoseVideoActivity 中,我可以单击两个按钮中的任何一个。
当点击带有文本“video1”的按钮时,Activity 发送回视频 1 的 YouTube ID。当点击带有文本“video2”的按钮时,Activity 发送回视频 2 的 YouTube ID。
在onActivityResult 中,我使用发回的ID 调用cueVideo()。
它应该有效,但没有。
当我在同一活动中工作时,它工作得很好。
我使用了 YouTube Android 播放器 API。
MainActivity 中的 onActivityResult()
private void addEvents() {
btChose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, ChoseVideoActivity.class);
startActivityForResult(intent,REQUEST_CODE);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == REQUEST_CODE && resultCode == RESULT_OK && data!=null)
{
String link = data.getStringExtra("LINK");
player.cueVideo(link);
Toast.makeText(this, link, Toast.LENGTH_SHORT).show();
}
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
player = youTubePlayer;
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(this, "Error!",Toast.LENGTH_LONG).show();
}
ChoseVideoActivity 中的点击监听器
private void addEvents() {
btVideo1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("LINK",link_video1);
setResult(RESULT_OK,intent);
finish();
}
});
btVideo2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.putExtra("LINK",link_video2);
setResult(RESULT_OK,intent);
finish();
}
});
}
【问题讨论】:
标签: java android youtube android-youtube-api onactivityresult