繁体   English   中英

ViewPagerFragment选项卡不起作用

[英]ViewPagerFragment Tab doesn't Work

我创建一个viewPager并正常工作,我的问题是选择一个页面,我只能拖动页面,但我想单击选项卡以选择页面。

我也添加了(编译'com.android.support:design:26.0.0-alpha1')

在此处输入图片说明

我的FragmentPagerAdapter代码

public class Pager extends FragmentPagerAdapter {

public Pager(FragmentManager fm) {

    super(fm);
}

@Override
public Fragment getItem(int position) {

    switch (position)
    {
        case 0:
            return First_Activity.newInstance();

        case 1:
            return Second_Activity.newInstance();

        case 2:
            return Third_Activity.newInstance();

        default:
            return First_Activity.newInstance();
    }
}

@Override
public int getCount() {

    return 3;
}

//  --->>>Title Pages<<<---
@Override
public CharSequence getPageTitle(int position) {

    switch (position)
    {
        case 0:
            return " page 1 ";

        case 1:
            return " page 2 ";

        case 2:
            return " page 3 ";

        default:
            return "";
    }

}
}

我的MainActivity代码

    final ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
    Pager adapter = new Pager(getSupportFragmentManager());
    viewPager.setAdapter(adapter);

    TabLayout tabLayout = (TabLayout) findViewById(R.id.tablayout);
    tabLayout.setupWithViewPager(viewPager);

}
}

首先在onCreate()中声明这一行:

   viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout)); 

Here , tabLayout is layout of your tabs you created in layout.

现在添加此功能:

   TabLayout.OnTabSelectedListener tabListener = 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)
      { } 
 };

此代码肯定会为您工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM