0
我有大约5种不同的YouTube视频,我想把它们放到viewpager中来滑动它们。有没有解决这个问题的解释,因为我在这里和不同的网站搜索,但找不到有用的东西。感谢您的关注Viewpager里面的YoutubePlayerSupportFragment
我有大约5种不同的YouTube视频,我想把它们放到viewpager中来滑动它们。有没有解决这个问题的解释,因为我在这里和不同的网站搜索,但找不到有用的东西。感谢您的关注Viewpager里面的YoutubePlayerSupportFragment
您必须在旧版YouTubePlayer上拨打YouTubePlayerSupportFragment.reset()
,然后切换ViewPager,然后YouTubePlayerSupportFragment.initialize()
。这需要响应TabLayout的onTabSelected
事件,该事件不能使用.setupWithViewPager
(这会吞下ViewPager和TabLayouts视图更改事件)。这大致是我们所需要的适配器(initialisePlayer和shutDownPlayer被称为响应标签的变化,在建立适配器,ViewPager和TabLayout片段):
private SparseArray<YouTubePlayerSupportFragment> fragments = new SparseArray<>(3);
private SparseArray<YouTubePlayer> players = new SparseArray<>(3);
@Override
public android.support.v4.app.Fragment getItem(final int position) {
YouTubePlayerSupportFragment fragment = new YouTubePlayerSupportFragment();
fragments.put(position, fragment);
return fragment;
}
public void initialisePlayer(final int position) {
YouTubePlayerSupportFragment fragment = fragments.get(position);
fragment.initialize(API_KEY, new YouTubePlayer.OnInitializedListener() {
@Override
public void onInitializationSuccess(final YouTubePlayer.Provider provider, final YouTubePlayer youTubePlayer, final boolean b) {
players.put(position, youTubePlayer);
youTubePlayer.cueVideo(getVids()[position]);
}
@Override
public void onInitializationFailure(final YouTubePlayer.Provider provider, final YouTubeInitializationResult youTubeInitializationResult) {
}
});
}
public void shutDownPlayer(int position) {
YouTubePlayer player = players.get(position);
if (player == null) {
return;
}
见随释放YouTubeSample。请特别关注VideoListDemoActivity,了解它如何为每个单元格使用YouTubeThumbnailView。这就是我推荐用于ViewPager的原因。 – djunod