tablayout+viewpager标题不显示

1.在 onCreateView中初始化 设置标题

vp_download_list = v.findViewById(R.id.vp_download);
tb_title = v.findViewById(R.id.tb_title);
tb_title.addTab(tb_title.newTab().setText("下载管理"));
tb_title.addTab(tb_title.newTab().setText("城市列表"));

2.在pagerAdapter中设置标题

@Override
public CharSequence getPageTitle(int position) {
    return position==0?"下载管理":"城市列表";
}

2.首先 onActivityCreated 方法中先设置数据源 adapter

if(offlineListFragement == null){
    offlineListFragement = new DownloadManageFragement();
}
if(cityListFragement == null){
    cityListFragement = new CityListFragement();
}
BasicApplication.fragmentList.clear();
BasicApplication.fragmentList.add(offlineListFragement);
BasicApplication.fragmentList.add(cityListFragement);
manager = getChildFragmentManager();
pagerAdapter = new CityListPagerAdapter(manager,BasicApplication.fragmentList);
vp_download_list.setAdapter(pagerAdapter);
tb_title.setupWithViewPager(vp_download_list);
tb_title.getTabAt(0).setText("下载管理");
tb_title.getTabAt(0).setText("城市列表");

       tablayout使用setupwithViewpager()方法绑定ViewPager时候会添加标题的方法失效,不显示tablayout标题,原因是tablayout源码里面在关联viewpager的时候会走removeAllTabs的方法,清空所有tab;所以我们在设置完关联后要添加:

tb_title.setupWithViewPager(vp_download_list);

tb_title.getTabAt(0).setText("下载管理");

tb_title.getTabAt(0).setText("城市列表");

你可能感兴趣的:(work遇到问题)