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("城市列表");