2017-03-22 9 views
0

私はタブ付きのアクティビティを持っており、3番目のタブでYouTubeビデオを作成したいと考えています。ここYoutube Player内のタブ付きアクティビティこのエラーが発生する

は私のJavaの:

public class FragmentTutorial extends YouTubePlayerFragment { 

    YouTubePlayerView youTubePlayerView; 
    YouTubePlayer.OnInitializedListener onInitializedListener; 

    public FragmentTutorial() { 
     // Required empty public constructor 
    } 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     youTubePlayerView = (YouTubePlayerView) youTubePlayerView.findViewById(R.id.tutorial_youtube_player); 

     onInitializedListener = new YouTubePlayer.OnInitializedListener() { 
      @Override 
      public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer youTubePlayer, boolean b) { 
       youTubePlayer.loadVideo("3LiubyYpEUk"); 
      } 

      @Override 
      public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult youTubeInitializationResult) { 

      } 
     }; 

     youTubePlayerView.initialize(PlayerConfig.API_KEY, onInitializedListener); 

     // Inflate the layout for this fragment 
     return inflater.inflate(R.layout.fragment_tutorial, container, false); 
    } 

} 

、ここでは私のXMLです:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.FragmentTutorial"> 

    <com.google.android.youtube.player.YouTubePlayerView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/tutorial_youtube_player" /> 

</FrameLayout> 

、ここでは私のMainActivityです:

class FragmentAdapter extends FragmentPagerAdapter { 

     public FragmentAdapter(FragmentManager fm) { 
      super(fm); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      switch (position){ 
       case 0: 
        return new FragmentHome(); 
       case 1: 
        return new FragmentCatalog(); 
       case 2: 
        return new FragmentTutorial(); 
      } 
      return null; 
     } 

     @Override 
     public int getCount() { 
      return 3; 
     } 


     @Override 
     public CharSequence getPageTitle(int position) { 
      switch (position){ 
       // 
       //Your tab titles 
       // 
       case 0: return "Home"; 
       case 1: return "Catalog"; 
       case 2: return "Tutorial"; 
       default: return null; 
      } 
     } 
    } 

私はこのコードを実行しようとしたとき、私はこれを得ました次のエラー:

Error:(80, 28) error: incompatible types: FragmentTutorial cannot be converted to Fragment 

私はここで何を欠席しましたか? FragmentPagerAdapterYouTubePlayerFragmentandroid.app.Fragmentを拡張し、

答えて

2

おそらくそれは間違った断片クラスによって引き起こされる...ありがとうandroid.support.v4.app.Fragmentを必要とし、これは

編集を変換することはできません。

は、(代わりにandroid.support.v4.app.FragmentPagerAdapterandroid.support.v13.app.FragmentPagerAdapterを使用するようにしてください他の断片は、android.app.Fragmentを拡張する必要があります

+0

どのようにタブ付きの断片の中にyoutubeプレーヤーを持っている任意のアイデア?なぜなら、ほとんどのチュートリアルでは、必要に応じて 'extends Youtube ***'を 'extends fragment'ではなく使うことを提案しているからです。 –

+0

私は 'import android.support.v4.app.Fragment;を持っています。 import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; 'すべてを' v13'に変更する必要がありますか? –

+2

'FragmentPagerAdapter'は' v13'ライブラリからのものでなければなりません –

関連する問題