4

我正在使用 android 设计库 TabLayout 来获取当前选定项的选项卡位置。

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

4 回答 4

7

从 Support 库的 22.2.1 版开始, TabLayout有一个方法getSelectedTabPosition

来源 1 | 来源 2

于 2015-07-22T13:04:19.677 回答
3

您可以调用 ViewPagergetCurrentItem()来获取当前显示项目的索引。

于 2015-06-10T13:43:57.963 回答
3
  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) {
        }
于 2016-06-29T08:25:07.767 回答
1

[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) {

                }
            });
于 2015-06-10T13:46:48.410 回答