开源项目: FlycoTabLayout SlidingTabLayout不显示字体的问题

异常:
导入优秀开源项目 FlycoTabLayout 使用后,Tab莫名其妙的不显示文字。

解决办法:
项目中存在两个layout_tab.xml文件 ,将其中一个布局文件重命名,只能这么办了。


下面是解决过程,如节省时间,可跳过。

经过一番断点调试发现:
tv_tab_title 为null

  private void addTab(final int position, String title, View tabView) {
        TextView tv_tab_title = tabView.findViewById(R.id.tv_tab_title);
        if (tv_tab_title != null && title != null) {
            tv_tab_title.setText(title);
        }

        tabView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                int position = mTabsContainer.indexOfChild(v);
                if (position != -1) {
                    setCurrentTab(position);
                }
            }
        });

再看引用代码:

public void notifyDataSetChanged() {
        mTabsContainer.removeAllViews();
        this.mTabCount = mTitles == null ? mViewPager.getAdapter().getCount() : mTitles.size();
        View tabView;
        for (int i = 0; i < mTabCount; i++) {
            tabView = View.inflate(mContext, R.layout.layout_tab, null);
            CharSequence pageTitle = mTitles == null ? mViewPager.getAdapter().getPageTitle(i) : mTitles.get(i);
            addTab(i, TextUtils.isEmpty(pageTitle) ? "" : pageTitle.toString(), tabView);
        }
        if (mCurrentTab != mViewPager.getCurrentItem()) {
            setCurrentTab(mViewPager.getCurrentItem());
        }
        updateTabStyles();
    }

重点这句:
tabView = View.inflate(mContext, R.layout.layout_tab, null);
于是,我查看了layout_tab.xml布局文件

结果发现:
我的项目中有两个layout_tab.xml文件,一个是另一个开源库KChart中的?????
果不其然,项目引用错了布局文件,这就是原因

修改其中一个文件名称后,完美显示。

.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值