【发布时间】:2019-03-10 20:11:44
【问题描述】:
我在列表视图中有两个选项(第 1 部分和第 2 部分)。我希望他们每个人都播放不同的视频。 (来自 Youtube 即)。我怎么做? IF语句还是有其他方法?这是 Mainactivity2。
public class Main2Activity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
final String[] sublectures = {"Part 1","Part 2"};
ListAdapter appadapter1 = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, sublectures);
ListView list2 = findViewById(R.id.list2);
list2.setAdapter(appadapter1);
list2.setOnItemClickListener(
new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
String lecture = String.valueOf(parent.getItemAtPosition(position));
Intent startintent = new Intent(getApplicationContext(),Main3Activity.class);
startActivity(startintent);
}
});
}}
这需要 Mainactivity 3。即
public class Main3Activity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {
public static final String API_KEY = "<key here>";
public static final String VIDEO_ID = "W2TYS_Jvzjc";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);
YouTubePlayerView youTubePlayerView = findViewById(R.id.youtubePlayerView);
youTubePlayerView.initialize(API_KEY, this);
}
@Override
public void onInitializationFailure (YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult){
Toast.makeText(this, "Fail to Load", Toast.LENGTH_LONG).show();
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
if (!wasRestored) {
player.setPlayerStyle(YouTubePlayer.PlayerStyle.DEFAULT);
player.cueVideo(VIDEO_ID);
}
}
}
【问题讨论】:
-
当您发布问题时,您包含了 YouTube API 密钥。 API 密钥可能会被滥用。虽然它可以被删除,但版主需要编辑修订(意味着完全隐藏令牌并有效地销毁修订)。但是由于您已经发布了它,因此网络爬虫有可能已将其拾取,因此我强烈建议您更改 API 密钥(如果可能)。
标签: android android-intent android-youtube-api