我有 ViewPager2 与 TabLayout 连接。其他引用 ViewPager 的帖子提供覆盖 setCurrentItem(position, false) ,其中 false 禁用平滑滚动。但是,TabLayoutMediator 调用 onTabSelected(TabLayout.Tab tab),后者调用 viewpager.setCurrentItem(postion, true)。如果 TabLayoutMediator 和 ViewPager2 是最终的,我该如何覆盖此行为?
已经尝试过:
viewPager.registerOnPageChangeCallback(new ViewPager2.OnPageChangeCallback() {
@Override
public void onPageSelected(int position) {
viewPager.setCurrentItem(position, false);
}
});
并像这样覆盖 onTabSelected:
tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(viewPager.getPosition(), false);
}
......
}