When you call setupWithViewPager
, this will internally call setOnTabSelectedListener(new ViewPagerOnTabSelectedListener(viewPager));
, overriding your OnTabSelectedListener
.
Instead, your listener should extend TabLayout.ViewPagerOnTabSelectedListener, then override onTabSelected()
and call setOnTabSelectedListener()
after setupWithViewPager()
:
tabLayout.setupWithViewPager(mViewPager);
tabLayout.setOnTabSelectedListener(
new TabLayout.ViewPagerOnTabSelectedListener(mViewPager) {
@Override
public void onTabSelected(TabLayout.Tab tab) {
super.onTabSelected(tab);
numTab = tab.getPosition();
prefs.edit().putInt("numTab", numTab).apply();
}
});