NSo*_*uth 5 android android-viewpager android-tablayout
我的ViewLager附带的TabLayout存在问题.Repro步骤:
viewPager.setCurrentItem(0)以将用户返回到第一个选项卡.我错过了什么?
tabLayout = (TabLayout) rootView.findViewById(R.id.tab_layout_main);
tabLayout.addTab(tabLayout.newTab().setText(getActivity().getString(R.string.main_tab_grades)));
tabLayout.addTab(tabLayout.newTab().setText(getActivity().getString(R.string.main_tab_schedule)));
viewPager = (NonSwipeableViewPager) rootView.findViewById(R.id.pager_main);
pagerAdapter = new PagerAdapterMain(getActivity(), getChildFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(pagerAdapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
return;
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
return;
}
});
Run Code Online (Sandbox Code Playgroud)
也许这是设计库的错误.正如问题所述:https: //code.google.com/p/android/issues/detail?id = 192834
这些代码对我有用:
// mViewPager.setCurrentItem(position);
Run Code Online (Sandbox Code Playgroud)mTabLayout.getTabAt(position).select();
小智 5
您可以尝试通过tablayout而不是viewPager选择选项卡.
tabLayout.getTabAt(0).select();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3438 次 |
| 最近记录: |