Android设计库中如何使用TabLayout获取当前选中项位置

How to get the current selected item position using TabLayout in Android Design Library

我正在使用 android 设计库 TabLayout,因为我如何才能获得当前选定项目的选项卡位置。

  ViewPager pager = (ViewPager) view.findViewById(R.id.pager);      
  MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager());
  pager.setAdapter(adapter);
  tabLayout.setupWithViewPager(pager);

您可以调用ViewPager的getCurrentItem()获取当前显示项的索引。

[2016 年 7 月 29 日更新]

参考已接受的答案,因为以下答案已弃用。如果您使用的是旧版本,请参考它。

你可以轻松做到...

tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
                @Override
                public void onTabSelected(TabLayout.Tab tab) {
                    pos = tab.getPosition();
                }

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

                }

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

                }
            });

从支持库的版本 22.2.1 开始,TabLayout 有一个方法 getSelectedTabPosition

Source 1 | Source 2

  mTabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
        @Override
        public void onTabSelected(TabLayout.Tab tab) {
            int position = tab.getPosition();
        }

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

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