我有一个可以以编程方式创建多个 YouTubePlayerViews 的活动,这是包含每个 YouTubePlayerView 的类。
public class MyYouTubeView extends LinearLayout implements YouTubePlayer.OnInitializedListener {
private String mYouTubeVideoId;
private YouTubePlayerView mYouTubePlayerView;
public JournalYouTubeView(Activity context, String youTubeVideoId) {
super(context);
mYouTubeVideoId = youTubeVideoId;
String apiKey = context.getResources().getString(R.string.youtube_api_key);
mYouTubePlayerView = new YouTubePlayerView(context);
mYouTubePlayerView.setTag(mYouTubeVideoId);
mYouTubePlayerView.initialize(apiKey, this);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT);
int margin = (int) ScreenUtils.dip2pixel(10, context);
params.leftMargin = margin;
params.rightMargin = margin;
addView(mYouTubePlayerView, params);
}
@Override
public void onInitializationFailure(Provider arg0, YouTubeInitializationResult arg1) {
}
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider,
final YouTubePlayer player,
boolean wasRestored) {
if (!wasRestored) {
player.cueVideo(mYouTubeVideoId);
}
}
}
不幸的是,当我的视图层次结构中有多个 YouTubePlayerView 实例时,这似乎不起作用。在示例 API 应用程序中,他们似乎在处理多个视频时使用片段,但是如果没有对应用程序进行一些重大的重新设计,我就无法使用这些片段。