我有2个活动,一个显示视频列表,另一个活动使用YoutubePlayerView显示视频。我在使用youtubeplayerview打开一个新活动时使用点击按钮。现在我想要的是不打开一个新的活动总是对于一个新的视频,我希望将youtube视频作为参数传递,以便它不需要很多活动,只需使用一个活动来显示所有视频。我的代码如下所示。
使用意图点击新活动。
public void videoTitaniumOnClick(View view){
Intent i=new Intent(this,videoGenerator.class);
startActivity(i);
}
Youtube视频类代码。
public class videoGenerator extends YouTubeBaseActivity implements OnInitializedListener {
public static final String API_KEY = "XXXXXXXXXXXX";
public static final String VideoTitanium = "ySQoAiWPXHE";
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_generator);
/** Initializing YouTube player view **/
YouTubePlayerView youTubePlayerView = (YouTubePlayerView) findViewById(R.id.Youtube);
youTubePlayerView.initialize(API_KEY, this);
}
@Override
public void onInitializationSuccess(Provider provider, YouTubePlayer player, boolean wasRestored) {
/** add listeners to YouTubePlayer instance **/
/** Start buffering **/
if (!wasRestored) {
player.cueVideo(VideoTitanium);
}
}
@Override
public void onInitializationFailure(Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
Toast.makeText(this, "Failured to Initialize Your Video.Check if you have a proper internet!", Toast.LENGTH_LONG).show();
}
}
对不起,如果缩进有什么问题。由于我是java和android新手,所以答案有点清楚, 三江源。
答案 0 :(得分:2)
使用intent.putExtra(key, value):
此方法被重载并将各种类型作为第二个参数:int,byte,String,各种数组..
所以你的方法将是:
public void videoTitaniumOnClick(View view){
Intent i=new Intent(this,videoGenerator.class);
i.putExtra("url_key", url);
startActivity(i);
}
点击按钮,存储您要传递到其他活动的YouTube视频的地址,然后使用putExtra() method
传递数据,如上所示。
要获取您要使用哪个活动的网址:
String url= getIntent().getStringExtra("url_key");