如何在视图寻呼机中一次只加载一个页面

时间:2016-06-23 12:02:02

标签: android

我想一次只加载一页。

viewpager.setOffscreenPageLimit(0);

无效。

2 个答案:

答案 0 :(得分:2)

使用标准的ViewPager实现无法做到这一点。如果您看到来源,您会看到它将屏幕外页面限制设置为1,如果它小于1。

public void setOffscreenPageLimit(int limit) {
        if (limit < DEFAULT_OFFSCREEN_PAGES) { //DEFAULT_OFFSCREEN_PAGES if 1
            Log.w(TAG, "Requested offscreen page limit " + limit + " too small; defaulting to " +
                    DEFAULT_OFFSCREEN_PAGES);
            limit = DEFAULT_OFFSCREEN_PAGES;
        }
        if (limit != mOffscreenPageLimit) {
            mOffscreenPageLimit = limit;
            populate();
        }
    }

您可以尝试在自定义类中覆盖此方法。

答案 1 :(得分:0)

为什么要将离线页面限制设置为零?

将其设置为1可以让android抢先将下一个视图加载到视图寻呼机,从而改善用户体验并加快加载时间。

如果必须将其设置为零,则创建一个自定义视图分页器类,该类扩展ViewPager,然后覆盖setOffScreenPageLimit方法