时间:2021-05-20
当使用addTab()方法给tablayout动态添加文字时可能会出现不显示标题文字的问题,而真实情况并不是不显示文字,而是ViewPager又给TabLayout加了许多空的标题,导致之前手动添加的标题被挤到后面,不信你多往后翻一翻是不是就出来了。那么这些空的标题是如何产生的呢,通过分析TabLayout源码很快就查出这个问题,其中有个方法的代码是这样的:
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); } // 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)); } } } else { removeAllTabs(); } }我们注意看这一行:
for (int i = 0; i < adapterCount; i++) { addTab(newTab().setText(mPagerAdapter.getPageTitle(i)), false); }恍然大悟了吧,可以看到在TabLayout里面调用了PageAdapter的方法来添加标题,而添加标题的个数就是在PageAdapter的getCount()方法中设置的,标题的文字是在PageAdapter的getPageTitle()方法中设置。
到此,解决方法就出来了:不要为ViewPager手动使用addTab方法添加标题,而应先创建一个list,将其设置在PageAdapter的getPageTitle方法中,代码如下:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
Win10创意者更新不显示文字的解决办法,有升级了Win10创意者更新的用户反馈,在文件资源管理器和控制面板中不显示任何文字,以下是分析原因和解决方法。
Win10创意者更新不显示文字的解决办法,有升级了Win10创意者更新的用户反馈,在文件资源管理器和控制面板中不显示任何文字,以下是分析原因和解决方法。
接下来为大家介绍的是ios7越狱后通知中心没有天气解决方法,有机友表示ios7完美越狱后通知中心不显示天气状态,不知道该如何解决,不要担心,小编带来了解决方法,
。亲爱的,常见的情况和处理方法如下:。。。。。。遇到的场景。。。。原因。。。。解决方法。。。。。。文字不显示。。。。1.在详细说明中设置了隐藏。常见的表现形式是
搜狗输入法打字不显示选字框解决方法来咯~很多朋友在使用搜狗输入法时遇到了不显示选字框的情况,不知道该如何解决,请试一试下文提供的解决方法,希望能帮助到大家。