Я только что перенесла свой старый ActionBar
на новый TabLayout
(Дизайн материальной поддержки).onTabSelected Selected Not Called
Все отлично, но я не могу перехватить выбор закладки Метод onTabSelected
вызывается только в первый раз, отображается TabLayout
, но при нажатии вкладки, ничего не происходит! Любая идея, что не так с этим кодом?
tabLayout = (TabLayout) findViewById(R.id.tabs);
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
mViewPager = (ViewPager) findViewById(R.id.pager);
if (mViewPager != null) {
setupViewPager();
}
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
numTab = tab.getPosition();
prefs.edit().putInt("numTab", numTab).apply();
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
tabLayout.setupWithViewPager(mViewPager);
это правильно! –
Вы на месте, это решило похожую ошибку для меня. Однако об этом факте не упоминается в документации для TabLayout.OnTabSelectedListener. Ваш ответ должен быть помещен в официальную документацию по Android. Моя основная ссылка должна быть документированием, а не переполнением стека. Еще раз спасибо за ответ. –
Вышеуказанный ответ правильный! Но нет необходимости расширять слушателя. Просто вызов tabLayout.setupWithViewPager (mViewPager) до того, как tabLayout.setOnTabSelectedListener разрешит это. –