2016-03-23 2 views
0

J'ai 2 onglets et 2 fragments.I fait tout pour ce guideonglets avec le fragment de l'activité

http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/

mais maintenant je vois des onglets, mais ne voyez pas mon fragments.What est le problème? ViewPagerAdapter:

public class ViewPagerAdapter extends FragmentStatePagerAdapter { 
    int mNumOfTabs; 

    public ViewPagerAdapter(FragmentManager fm, int NumOfTabs) { 
     super(fm); 
     this.mNumOfTabs = NumOfTabs; 
    } 

    @Override 
    public android.support.v4.app.Fragment getItem(int position) { 

     switch (position) { 
      case 0: 
       Direct tab1 = new Direct(); 
       return tab1; 
      case 1: 
       AdventuresFragment tab2 = new AdventuresFragment(); 
       return tab2; 


      default: 
       return null; 
     } 
    } 

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

Activité avec cet adaptateur:

public class TabsActivity extends Activity { 

    Fragment directFragmentTab = new Direct(); 
    Fragment adventuresFragmentTab = new AdventuresFragment(); 
    @TargetApi(Build.VERSION_CODES.LOLLIPOP) 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.tabs_activity); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 

     } 

     TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout); 
     tabLayout.addTab(tabLayout.newTab().setText("Tab 1")); 
     tabLayout.addTab(tabLayout.newTab().setText("Tab 2")); 

     tabLayout.setTabGravity(TabLayout.GRAVITY_FILL); 

     final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); 
     final PagerAdapter adapter = new PagerAdapter 
       () { 
      @Override 
      public int getCount() { 
       return 0; 
      } 

      @Override 
      public boolean isViewFromObject(View view, Object object) { 
       return false; 
      } 
     }; 
     viewPager.setAdapter(adapter); 
     viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 
     tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 

      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 

      } 
     }); 
    } 

} 

Répondre

1

Dans votre activité, vous utilisez la classe PagerAdapter alors que votre classe de traitement de fragment est nommé ViewPagerAdapter. Vous voulez utiliser la classe ViewPagerAdapter à la place.