使用TabLayout小总结(Pager.setCurrentItem())

来源:互联网 发布:南京软件 外包公司 编辑:程序博客网 时间:2024/04/30 15:07

直接贴一下代码吧。

import java.util.ArrayList;public class BillsActivity extends WYActivity {    //    private ViewPager mPager;    private BillAllFragment allFragment;    private BillUnPayFragment unPayFragment;    private BillServiceFragment serviceFragment;    private BillSureFragment sureFragment;    private BillEvaluateFragment evaluateFragment;    private BillAdapter iAdapter;    private TabLayout tabLayout;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_bills);        findViewById(R.id.ivRightView).setVisibility(View.VISIBLE);        initHeaderView("交易账单");        initRootView();        initToolbar();    }    private void initToolbar() {        mPager = (ViewPager) findViewById(R.id.viewPager);        ArrayList<WYFragment> list = new ArrayList<>();        allFragment = new BillAllFragment();        unPayFragment = new BillUnPayFragment();        serviceFragment = new BillServiceFragment();        sureFragment = new BillSureFragment();        evaluateFragment = new BillEvaluateFragment();        list.add(allFragment);        list.add(unPayFragment);        list.add(serviceFragment);        list.add(sureFragment);        list.add(evaluateFragment);        iAdapter = new BillAdapter(getSupportFragmentManager(), list);        mPager.setAdapter(iAdapter);        int position = getIntent().getIntExtra(AppUtil.DATA,1);        mPager.setOffscreenPageLimit(5);        tabLayout = (TabLayout) findViewById(R.id.bill_tabLayout);        tabLayout.addTab(tabLayout.newTab().setText(iAdapter.getPageTitle(0)));        tabLayout.addTab(tabLayout.newTab().setText(iAdapter.getPageTitle(1)));        tabLayout.addTab(tabLayout.newTab().setText(iAdapter.getPageTitle(2)));        tabLayout.addTab(tabLayout.newTab().setText(iAdapter.getPageTitle(3)));        tabLayout.addTab(tabLayout.newTab().setText(iAdapter.getPageTitle(4)));        tabLayout.setTabMode(TabLayout.MODE_FIXED);        tabLayout.setupWithViewPager(mPager);        tabLayout.setTabsFromPagerAdapter(iAdapter);        mPager.setCurrentItem(position-1);    }}
BillsActivity 中有一个tablayout,我需要从BillsActivity 前的一个Activity中传一个值到BillsActivity ,根据这个值设置tablayout该要显示哪一页。

也就是调用mPager.setCurrentItem(),之前,我设置的mPager.setCurrentItem()的时候一直没起作用。


后来把mPager.setCurrentItem()的方法放在了tablayout初始化之后才生效了。

1 0