【发布时间】:2017-02-13 13:37:27
【问题描述】:
我需要动态创建 YouTubePlayer,我不能在 YoutubeBaseActivity 上扩展。所以我只需要创建 YouTubePlayerSupportFragment。我试过这样做:
container_more_info_item - 我的线性布局
//create video
for(int j = 0; j < 5; j++) {
final YouTubePlayerSupportFragment ysF = new YouTubePlayerSupportFragment();
ysF.initialize("AIzbSyAT5C-xs5YG1HzG69Fn__PHq9DHXBuKpws", new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo("IjUlQU6yifk");
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
//this line error, because ViewGroup can not be applied com.google.android.youtube.player.YouTubePlayerSupportFragment
container_more_info_item.addView(ysF);
}
现在我被卡住了,想不出什么办法
UPD:
我使用 FragmentManager,但我收到以下消息:
无法解析方法'add(int, com.google.android.youtube.player.YouTubePlayerSupportFragment)
//create video
for(int j = 0; j < 5; j++) {
final YouTubePlayerSupportFragment ysF = new YouTubePlayerSupportFragment();
ysF.initialize("AIzaSyAT5C-xs5YG1HzG69Fn__PHq9DHXBuKpws", new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) {
youTubePlayer.cueVideo("IjUlQU6yifk");
}
@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) {
}
});
LinearLayout ll = new LinearLayout(this);
ll.setOrientation(LinearLayout.HORIZONTAL);
ll.setId(j);
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragTransaction = fragmentManager.beginTransaction();
//Cannot resolve method 'add(int, com.google.android.youtube.player.YouTubePlayerSupportFragment)
fragTransaction.add(ll.getId(), ysF);
fragTransaction.commit();
container_more_info_item.addView(ll);
}
【问题讨论】:
-
要添加一个片段,你应该使用
FragmentManager:developer.android.com/guide/components/… -
@KenWolf 感谢您的评论,我更新了我的问题。请检查我做对了吗?
-
使用
getSupportFragmentManager()而不是getFragmentManager() -
@KenWolf 谢谢,它工作!
标签: java android dynamic android-youtube-api