在Java代码中设置选定的选项卡指示器

时间:2015-11-04 15:10:22

标签: android android-layout tabs android-viewpager android-tablayout

我想要设置一个from django.apps import apps model_obj = apps.get_model('app_name', 'model_name') model_obj.objects.get() ...etc ,以便与NavigationViewViewPager配合使用。

点击TabLayout中的item即:

  1. 将用户带到相应的NavigationView

  2. 相应地设置fragment指示符

  3. 我设法使用TabLayout完成了第一项任务,但我无法修复第二项任务。我试过了:

    1. 通过mViewPager.setCurrentItem()检索tab并“选择”它:

      TabLayout

      但这是一个半身像。 (Tab indicator

    2. 每次点击mTabLayout.getTabAt(TAB_POSITION).select(); 后调用mTabLayout.setupWithViewPager(mViewPager);但结果相同。 (TabLayout tab selection)。

    3. 编辑 - 代码:

      item

      ..... .....

          mViewPager = (ViewPager) findViewById(R.id.viewpager);
          mViewPager.setAdapter(mAdapter);
          mTabLayout = (TabLayout) findViewById(R.id.tablayout);
          mTabLayout.setupWithViewPager(mViewPager);
      
          mViewPager.addOnPageChangeListener(new PageChangeListener()); 
      

      如何将所有内容组合在一起?

1 个答案:

答案 0 :(得分:0)

在类ed.getContent()的方法setupWithViewPager中,我们可以看到在视图寻呼机上设置了回调:

TabLayout

在课程viewPager.addOnPageChangeListener(new TabLayoutOnPageChangeListener(this));中,方法为TabLayoutOnPageChangeListener

onPageSelected

所以在这里我们可以看到tablayout应该在viewpager更改其内容时选择好选项卡。

设置public void onPageSelected(int position) { final TabLayout tabLayout = mTabLayoutRef.get(); if (tabLayout != null && tabLayout.getSelectedTabPosition() != position) { // Select the tab, only updating the indicator if we're not being dragged/settled // (since onPageScrolled will handle that). tabLayout.selectTab(tabLayout.getTabAt(position), mScrollState == ViewPager.SCROLL_STATE_IDLE); } } 的适配器后,您是否立即致电setupWithViewPager