【问题标题】:Android ViewPager loads too many pagesAndroid ViewPager 加载的页面太多
【发布时间】:2016-08-12 08:00:25
【问题描述】:

我将 ViewPager 与 Fragments 一起使用。我已将偏移量设置为 1(我知道它是默认值),但它仍然在开始时加载三个页面(0 -> 1 -> 2)而不是两个(0 -> 1)......这里可能有什么问题?

private ViewPager mPager;
private PagerAdapter mPagerAdapter;

...

mPager = (ViewPager) findViewById(R.id.viewpager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
mPager.setOffscreenPageLimit(1);

...

private class ScreenSlidePagerAdapter extends FragmentStatePagerAdapter {
    public ScreenSlidePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        if (position == 0) {
            return new InitializationFragment();
        } else if (position == 8) {
            return new InitializationFragment();
        } else if (position == 9) {
            return new SummaryFragment();
        } else {
            return new IngredientFragment(PizzaStage.values()[position - 1], layout);
        }
    }

    @Override
    public int getCount() {
        return NUM_PAGES; //10
    }
}

【问题讨论】:

    标签: android android-fragments android-viewpager fragmentstatepageradapter


    【解决方案1】:

    ViewPager 将始终尝试将页面预加载到当前页面的右侧和/或左侧,以便在用户滑动时不会延迟创建视图。

    如果您想禁用此行为,可以致电viewPager.setOffscreenPageLimit(0)

    通常您只想知道视图何时被滑动并且现在是当前视图。

    android - How to determine when Fragment becomes visible in ViewPager - Stack Overflow

    【讨论】:

      【解决方案2】:

      使用 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter。

      【讨论】:

        【解决方案3】:

        您是否将 setOffscreenPageLimit 称为偏移量?如果您在适配器中将 NUM_PAGES 定义为 10,则将加载所有这 10 个。至于 setOffscreenPageLimit,您可以使用它来设置要在空闲状态下保留的页面数。不限制需要加载的片段。如果您有 5 个片段并且您不希望 android 每次向左/向右滑动时都重新创建这些片段,那么您需要使用 setOffscreenPageLimit。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多