What changed on API Level 24 about TabLayout?
tabLayout.setOnTabSelectedListener() is deprecated and tabLayout.addOnTabSelectedListener() is working bad, when you click on tab programatically, the listener is working twice. Why?
My code.
private class TabSelectedListener implements TabLayout.OnTabSelectedListener {
@Override
public void onTabSelected(TabLayout.Tab tab) {
final int tabIndex = tab.getPosition();
if (tabIndex == sCalendarTabIndex) {
openCalendar();
mTabLayout.getTabAt(mBeforeSelectedTabIndex).select();
} else {
mBeforeSelectedTabIndex = tabIndex;
final ViewPagerAdapter viewPagerAdapter = (ViewPagerAdapter) mViewPager
.getAdapter();
final MyViewPagerFragment fragment = viewPagerAdapter
.getFragmentAtIndex(tabIndex);
mViewPager.setCurrentItem(mBeforeSelectedTabIndex);
fragment.refreshContent();
}
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
}