【问题标题】:how to set the starting tab in tab layout with Toolbar?如何使用工具栏在选项卡布局中设置起始选项卡?
【发布时间】:2016-08-05 21:35:33
【问题描述】:

对不起,我的英语不流利。 我想更改选项卡布局中的起始片段。 另一个活动的价值是有目的的。 所以我只想用我的选择开始标签布局的片段。

这是主要活动的onCreate()

public class MainActivity extends AppCompatActivity {

    private SectionsPagerAdapter mSectionsPagerAdapter;
    private ViewPager mViewPager;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        // Create the adapter that will return a fragment for each of the three
        // primary sections of the activity.
        mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());
        // Set up the ViewPager with the sections adapter.
        mViewPager = (ViewPager) findViewById(R.id.container);
        mViewPager.setAdapter(mSectionsPagerAdapter);

        TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
        tabLayout.setupWithViewPager(mViewPager);

    }

这是改变片段的代码

    public class SectionsPagerAdapter extends FragmentPagerAdapter {

        public SectionsPagerAdapter(FragmentManager fm) {
                super(fm);

        }

        @Override
        public Fragment getItem(int position) {
            switch(position)
            {
                case 0:
                    return new TotalFragment();
                case 1:
                    return new StatsFragment();
                case 2:
                    return new FeedbackFragment();
                case 3:
                    return new ManageFragment();
            }
            return null;
        }

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

        @Override
        public CharSequence getPageTitle(int position) {
            switch (position) {
                case 0:
                    return "TOTAL";
                case 1:
                    return "STATS";
                case 2:
                    return "FEEDBACK";
                case 3:
                    return "MANAGE";
            }
            return null;
        }
    }
}

【问题讨论】:

    标签: android android-fragments android-tablayout


    【解决方案1】:

    Jisu Lee,我们可以通过 setCurrentItem() 来设置标签布局中的起始标签到 viewpager。 我们可以通过两种类型来设置它:

    示例: 1.简单设置标签:

    说明:设置当前选中的页面。如果 ViewPager 已经通过其当前适配器的第一个布局,则当前项和指定项之间将有一个平滑的动画过渡。

     viewPager.setCurrentItem(1);
    

    2.启用smoothScroll:

    第二个参数"True"平滑滚动到新项目,"false"立即过渡

     viewPager.setCurrentItem(1, true);
    

    或者为了获取我们拥有的 CurrentItem:viewPager.getCurrentItem();

    它将返回起始标签索引(int)。

    【讨论】:

      【解决方案2】:
      mViewPager.setCurrentItem({index you want}, true);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-08-22
        • 1970-01-01
        • 2018-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-09
        相关资源
        最近更新 更多