我有两个活动:MainActivity
有一个youtubePlayerView
用于显示来自YouTube的视频,还有一个按钮“选择”,ChoseVideoActivity
有两个按钮,带有文本“ Video1”和“ Video2”。
在MainActivity
,我单击“选择”按钮以打开ChoseVideoActivity
。在ChoseVideoActivity
中,我可以单击两个按钮之一。
点击带有文本“ video1”的按钮,活动将发回视频1的YouTube ID。当单击带有文本“ video2”的按钮时,活动将发回视频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();
}
});
}
答案 0 :(得分:0)
由于我是新来的,所以我无法对您的信息发表评论。您的代码似乎还可以。因为我们看不到如何打开下一个活动,所以我想确定一下,您是否真的使用startActivityForResult函数来打开第二个活动? 像这样:
Intent intent = new Intent(this, SecondActivity.class);
startActivityForResult(intent, 0);