Fragment中使用,显示不出tab的文字
<com.flyco.tablayout.SlidingTabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="#222831"
android:paddingLeft="5dp"
android:paddingRight="5dp"
tl:tl_indicator_color="#393E46"
tl:tl_indicator_corner_radius="5dp"
tl:tl_indicator_margin_left="2dp"
tl:tl_indicator_margin_right="2dp"
tl:tl_indicator_style="BLOCK"/>
设置数据
mFragmentAdapter = PagerNormalAdapter(activity.supportFragmentManager,fragmentList,titleList)
mViewPager.adapter = mFragmentAdapter
mTabLayout.setViewPager(mViewPager)
适配器:
class PagerNormalAdapter(manager: FragmentManager, var fragmnetList: List<Fragment>, var titleList: List<String>)
: FragmentPagerAdapter(manager) {
override fun getItem(position: Int): Fragment = fragmnetList[position]
override fun getCount(): Int = fragmnetList.size
override fun getPageTitle(position: Int): CharSequence = titleList[position]
override fun destroyItem(container: ViewGroup?, position: Int, `object`: Any?) {
// super.destroyItem(container, position, `object`)
}
}
我调试源码,发现在addTab方法里面 tv_tab_title 为null,findViewById失败,没有执行setText,这是什么回事呢??
private void addTab(final int position, String title, View tabView) {
TextView tv_tab_title = (TextView) tabView.findViewById(R.id.tv_tab_title);
if (tv_tab_title != null) {
if (title != null) tv_tab_title.setText(title);
}
@H07000223 大佬还在吗,能看看什么问题吗
@tpnet 请问你找到解决的方法了吗?我也遇到跟你一样的情况,Tab是空的
@wzxlucky 我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行
解决了吗 ?
同问。解决了吗?是不是Kotlin的问题?
@tangyaogang 我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行
同问。解决了吗?是不是Kotlin的问题?
我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行
use xmlns:tl="http://schemas.android.com/apk/res-auto"
<com.flyco.tablayout.CommonTabLayout android:id="@+id/main_tablayout" android:layout_width="match_parent" android:layout_height="match_parent" app:tl_textSelectColor="#000000" app:tl_textUnselectColor="#808080"/>
app:tl_textSelectColor app:tl_textUnselectColor 这两个属性是必要的,如果报红要导入 xmlns:app="http://schemas.android.com/apk/res-auto"
这篇文章可能会帮到你: https://blog.csdn.net/qq_35936174/article/details/104689045
@iSally 谢谢,果然是这个问题