2

gösterilmez MyActivity'ye sekme eklemek istiyorum ve bazı sekmeleri tıklattığımda Fragment oluşturuldu ve eklendim.Ama sekmeyi tıklattığınızda nothng oldu. TabsActivity:Sekmeler,

public class TabsActivity extends FragmentActivity { 

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




     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); 
     FragmentManager fragmentManager = getSupportFragmentManager(); 
     final ViewPager viewPager = (ViewPager) findViewById(R.id.pager); 
     final ViewPagerAdapter adapter = new ViewPagerAdapter(fragmentManager, tabLayout.getTabCount()) 
       { 
      @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) { 

      } 
     }); 
    } 

} 

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; 
    } 
} 

Kaçırdığım edildi Ya yanlış yaptım Kod mantığında errror ama bir şey olmadan derlemek?.

+0

Orada neler olduğundan emin değilsiniz, ancak doğru görünmüyor. En basit yol setupWithViewPager() kullanmaktır, buraya bir göz atın: https://guides.codepath.com/android/google-play-style-tabs-using-tablayout –

+0

public check get intuntCount() { return 0 ; } viewpager bağdaştırıcısında. –

+0

sayımını döndürmeli, sayımını döndürmelidir public int getCount() { dönüş mNumOfTabs; } – Rost

cevap

1

ViewPagerAdapter yöntemini daha fazla geçersiz kılmamalısınız. Sadece

final ViewPagerAdapter adapter = new ViewPagerAdapter(fragmentManager, tabLayout.getTabCount()); 
0

Ben

final PagerAdapter adapter = new PagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount()); 

Düzenleme ile değiştirin aynı kod

final ViewPagerAdapter adapter = new ViewPagerAdapter(fragmentManager, tabLayout.getTabCount()) 
      { 
     @Override 
     public int getCount() { 
      return 0; 
     } 

     @Override 
     public boolean isViewFromObject(View view, Object object) { 
      return false; 
     } 
    }; 

kullanma olduğum bu denemek yapmak Bu

01 Like Your Kod
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(getSupportFragmentManager(), tabLayout.getTabCount()); 
    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) { 
     } 
    });