首页 > 解决方案 > 无法将 youtube 集成到片段

问题描述

youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();

无法到达的声明:

public class TabFragment2 extends Fragment {
private FragmentActivity myContext;
YouTubePlayerSupportFragment youTubePlayerFragment;
private YouTubePlayer YPlayer;
private static final String YoutubeDeveloperKey = "xyz";
private static final int RECOVERY_DIALOG_REQUEST = 1;

@Override
public void onAttach(Activity activity) {

    if (activity instanceof FragmentActivity) {
        myContext = (FragmentActivity) activity;
    }

    super.onAttach(activity);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_tab_fragment2, container, false);


    youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();

    youTubePlayerFragment.initialize("AIzaS", new YouTubePlayer.OnInitializedListener() {

        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider arg0, YouTubePlayer youTubePlayer, boolean b) {
            if (!b) {
                YPlayer = youTubePlayer;
                YPlayer.setFullscreen(true);
                YPlayer.loadVideo("2zNSgSzhBfM");
                YPlayer.play();
            }
        }

        @Override
        public void onInitializationFailure(YouTubePlayer.Provider arg0, YouTubeInitializationResult arg1) {
            // TODO Auto-generated method stub

        }
    });
}

}

标签: javaandroid

解决方案


更改您的代码,如下所示。您在所有内容之前都有 return 语句,所以它说的是无法访问的代码。

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_tab_fragment2, container, false);


    youTubePlayerFragment = YouTubePlayerSupportFragment.newInstance();
    FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
    transaction.add(R.id.youtube_fragment, youTubePlayerFragment).commit();

    youTubePlayerFragment.initialize("AIzaS", new YouTubePlayer.OnInitializedListener() {

        @Override
        public void onInitializationSuccess(YouTubePlayer.Provider arg0, YouTubePlayer youTubePlayer, boolean b) {
            if (!b) {
                YPlayer = youTubePlayer;
                YPlayer.setFullscreen(true);
                YPlayer.loadVideo("2zNSgSzhBfM");
                YPlayer.play();
            }
        }

        @Override
        public void onInitializationFailure(YouTubePlayer.Provider arg0, YouTubeInitializationResult arg1) {
            // TODO Auto-generated method stub

        }
    });
}

return view;
    }

希望能帮助到你!!!只需在编写代码时检查这些内容,否则这些愚蠢的错误会占用您宝贵的时间;)


推荐阅读