FlycoTabLayout icon indicating copy to clipboard operation
FlycoTabLayout copied to clipboard

Fragment中使用,显示不出tab的文字

Open tpnet opened this issue 8 years ago • 11 comments

    <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);
        }

tpnet avatar Nov 30 '17 15:11 tpnet

@H07000223 大佬还在吗,能看看什么问题吗

tpnet avatar Nov 30 '17 15:11 tpnet

@tpnet 请问你找到解决的方法了吗?我也遇到跟你一样的情况,Tab是空的

wzxlucky avatar Jan 27 '18 07:01 wzxlucky

@wzxlucky 我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行

tpnet avatar Jan 27 '18 07:01 tpnet

解决了吗 ?

tangyaogang avatar Apr 11 '18 10:04 tangyaogang

同问。解决了吗?是不是Kotlin的问题?

yuan7016 avatar Oct 22 '18 01:10 yuan7016

@tangyaogang 我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行

tpnet avatar Oct 22 '18 02:10 tpnet

同问。解决了吗?是不是Kotlin的问题?

我没用这个库了。。但是后来我应该发现了,你是不是fragmnet里面嵌套fragment的,如果是这样子的话嵌套的时候,你要用getChildFragmentManager,你试试行不行

tpnet avatar Oct 22 '18 02:10 tpnet

use xmlns:tl="http://schemas.android.com/apk/res-auto"

yuan7016 avatar Oct 22 '18 02:10 yuan7016

<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"

yangfengfandev avatar Apr 17 '19 06:04 yangfengfandev

这篇文章可能会帮到你: https://blog.csdn.net/qq_35936174/article/details/104689045

iSally avatar Mar 06 '20 01:03 iSally

@iSally 谢谢,果然是这个问题

Kenmmm avatar Apr 04 '20 14:04 Kenmmm