Android - 销毁并重新创建YoutubePlayerFragment

时间:2017-05-10 16:48:43

标签: android android-fragments android-youtube-api

我有一个包含2个片段的ViewPager。每个Fragment的内容都应该用YoutubePlayerFragment(在片段布局的FrameLayout中)替换:

    mYoutubePlayerFragment = new YouTubePlayerSupportFragment();
    mYoutubePlayerFragment.initialize(Config.YOUTUBE_API_KEY, context);
    FragmentTransaction fragmentTransaction = fm.beginTransaction();
    fragmentTransaction.replace(R.id.youtube_frame,mYoutubePlayerFragment);
    fragmentTransaction.commit();

一切都很好。我可以通过按钮(“播放”按钮)来完成此操作。但是当我在ViewPager的第二个片段中做同样的事情时,我收到了这个热情:

YouTubeAndroidPlayerAPI: Forcefully created overlay:..helper:..view:null status:

所以我认为我需要从第一个片段中释放播放器。所以我首先调用了新玩家的方法:

fm.beginTransaction().remove(mYoutubePlayerFragment).commit();

    mYoutubePlayerFragment.getFragmentManager().beginTransaction().remove(mYoutubePlayerFragment).commit();

    FragmentTransaction fragmentTransaction = fm.beginTransaction();
    fragmentTransaction.replace(R.id.youtube_frame, new TabImage());
    fragmentTransaction.commit();

    FragmentTransaction fxx =  mYoutubePlayerFragment.getFragmentManager().beginTransaction();
    fxx.replace(R.id.youtube_frame, new TabImage());
    fxx.commit();

    mPlayer.setPlayerStateChangeListener(null);
    mPlayer.setOnFullscreenListener(null);
    mPlayer.release();
    mPlayer = null;
    mYoutubePlayerFragment = null;

这是从第一个片段调用以释放第一个播放器。但我也有同样的错误。我无法分离YoutubeFragment或者什么? 谢谢。

0 个答案:

没有答案