我有 2 个活动,一个显示视频列表,另一个活动使用 YoutubePlayerView 显示视频。现在我想要的不是总是为新视频打开一个新活动,而是我想将 youtube 视频作为参数传递,这样它就不需要很多活动,只需使用单个活动来显示所有视频。我的代码如下所示。
-
单击使用意向的新活动。
public void videoTitaniumOnClick(View view){ Intent i=new Intent(this,videoGenerator.class); startActivity(i); }
-
优酷视频类代码。
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的新手,谢谢。
Use intent.putExtra(key, value):
此方法是重载的,并采用各种类型作为第二个参数:int,字节,字符串,各种数组。
所以你的方法将是:
public void videoTitaniumOnClick(View view){
Intent i=new Intent(this,videoGenerator.class);
i.putExtra("url_key", url);
startActivity(i);
}
存储要通过单击按钮传递给其他活动的YouTube视频的地址,然后使用putExtra() method
传递数据,如上所示。
要获取要使用 URL 的活动的网址,请执行以下操作:
String url= getIntent().getStringExtra("url_key");