我有一个NavigationView
,我想要设置为与ViewPager
和TabLayout
一起工作。在Java代码中设置选定的选项卡指示器
上item
的点击来自NavigationView
应:
将用户引导至相应的
fragment
设置
TabLayout
指标相应
我设法完成第一个任务使用mViewPager.setCurrentItem()
但我无法修复第二个。我想:
为了获取通过
TabLayout
的tab
和 “选择” 是:mTabLayout.getTabAt(TAB_POSITION).select();
,但它是一个半身像。 (Tab indicator)
在每次点击
item
后致电mTabLayout.setupWithViewPager(mViewPager);
但结果相同。 (TabLayout tab selection)。
编辑 - 代码:
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setAdapter(mAdapter);
mTabLayout = (TabLayout) findViewById(R.id.tablayout);
mTabLayout.setupWithViewPager(mViewPager);
mViewPager.addOnPageChangeListener(new PageChangeListener());
..... .....
class PageChangeListener implements ViewPager.OnPageChangeListener {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position) {
case 0:
mTabLayout.getTabAt(0).select();
break;
case 1:
mFloatingAddButton.setVisibility(View.VISIBLE);
mTabLayout.getTabAt(1).select();
break;
default:
mFloatingAddButton.setVisibility(View.INVISIBLE);
mTabLayout.getTabAt(2).select();
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
}
我怎么能管理,以配合一切融合在一起?
设置我的ViewPager适配器后,我会调用setupWithViewPager。无论如何,我试图做你说的,但它没有奏效。 –
您是否尝试调试以查看此方法是否真的被调用?你能显示你的代码吗? –
当然我调试过了。没有日志错误,没有任何东西。 –