TabLayout修改标题要获取它里面的Tab来进行设置,调用tabLayout.getTabAt(index).setText(name)就可以设置第index个的标题了。
从源码中发现,当我们调用了tabLayout.setupWithViewPager(viewPager)这个方法,在TabLayout中经过一些调用,然后调用到populateFromPagerAdapter()这个方法,然后在这里添加Tab设置标题
private void populateFromPagerAdapter() {
removeAllTabs();
if (mPagerAdapter != null) {
final int adapterCount = mPagerAdapter.getCount();
for (int i = 0; i < adapterCount; i++) {
addTab(newTab().setText(mPagerAdapter.getPageTitle(i)), false);//这里添加Tab,然后setText设置标题
}
// Make sure we reflect the currently set ViewPager item
if (mViewPager != null && adapterCount > 0) {
final int curItem = mViewPager.getCurrentItem();
if (curItem != getSelectedTabPosition() && curItem < getTabCount()) {
selectTab(getTabAt(curItem));
}
}
}
}