【发布时间】:2016-09-03 20:40:26
【问题描述】:
当我的问题是TabActivity 和tabWidgets 时,我的问题已被多次回答。但我找不到关于相对较新的 TabLayout 视图的任何信息。
这很简单,就像 facebook,我想点击一个已经选择的标签,让我的列表向上滚动直到它开始。但我不知道把我的听众放在哪里。
我尝试了TabLayout 本身、mTabLayout.getChildAt() 和TabLayout.getTabAt().getCustomView()。
编辑:更正: 正如 CommonsWare 在其答案的评论中提到的那样,我不得不重写“onTabSelected”的行为。
mTabLayout = (TabLayout) findViewById(R.id.tabs);
mTabLayout.setupWithViewPager(mViewPager);
for (int i = 0; i < mTabLayout.getTabCount(); i++) {
mTabLayout.getTabAt(i).setIcon(tabIcons[i]);
}
mTabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
mViewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
if (tab.getPosition() == PAGE_FEED) {
((PagerNewsFeedFragment) mViewPagerAdapter.getRegisteredFragment(PAGE_FEED)).scrollToTop();
}
}
});
谢谢!
【问题讨论】: