我正在尝试实现一个滑动标签布局,每个片段只应在选中标签时加载而不是我得到相邻的片段加载,我已经尝试了setOffScreenPageLimit(1),因为我的代码显示但仍然相邻的片段被加载请帮忙???
private SlidingTabLayout tabLayout;
private ViewPager viewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
viewPager = (ViewPager) findViewById(R.id.viewpager);
viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
viewPager.setOffscreenPageLimit(1);
tabLayout = (SlidingTabLayout) findViewById(R.id.tabs);
if (tabLayout != null) {
tabLayout.setViewPager(viewPager);
tabLayout.setDistributeEvenly(true);
tabLayout.setSelectedIndicatorColors(R.color.md_amber_600);
}
答案 0 :(得分:0)
我可以看到你已经将setOffScreenPageLimit用作1.这意味着你使用viewPager
一次只加载一个额外的屏幕,而实际上你什么都不想加载。无法为setOffScreenPageLimit
此方法设置0值,实际上您可以设置它但不起作用。
因此,使用view pager无法实现此目的。如果您仍想执行此类功能,可以使用FrameLayout
并根据选项卡选择在片段之间切换。
以下是标签选择代码示例:
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
switchToTab(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});