动态添加的TabLayout,顶部是TabLayout,底部是ViewPager,这样设置TabLayout默认选中,底部ViewPager是选中了,但是为什么顶部TabLayout没有选中第三个
动态加载的代码和TabLayout选中监听代码:
@Override
public void onSuccess(List<GameType> gameTypes, String msg) {
mGameTypes = gameTypes;
for (int i = 0; i < gameTypes.size(); i++) {
GameType gameType = gameTypes.get(i);
String title = gameType.getEname();
SchedulePageFragment gamePageFragment = new SchedulePageFragment();
FragmentPage fragmentPage = new FragmentPage(gamePageFragment, title);//设置顶部分类游戏
TabLayout.Tab tab = mTabLayout.newTab();
mTabLayout.addTab(tab);//添加tablayout
mPageList.add(fragmentPage);//根据顶部游戏类型动态添加ViewPager
if (i == 2) {
mTabLayout.getTabAt(2).select();
}
}
BaseFragmentPagerAdapter adapter = new BaseFragmentPagerAdapter(getChildFragmentManager(), mPageList);
mViewPager.setAdapter(adapter);
mTabLayout.setupWithViewPager(mViewPager);
}
@Override
public void onTabSelected(TabLayout.Tab tab) {
int position = tab.getPosition();//TabLayout选中,初始化化会走
// mViewPager.setCurrentItem(position);
// mTabLayout.getTabAt(position).select();//默认选中第一个
if (mGameTypes != null) {
GameType gameType = mGameTypes.get(position);
String eid = gameType.getEid();
App.getApplication().getMap().put("eid", eid);//传递用于获取底部列表数据的eid
Log.d(TAG, "onTabSelected: 1624=" + eid);
}
}
在这个循环里 for (int i = 0; i < gameTypes.size(); i++)
mViewPager一直没有adapter
所以你在这个循环中怎么设也不起作用