ViewPager使用心得

来源:互联网 发布:好看的末世小说知乎 编辑:程序博客网 时间:2024/05/01 12:15
@Overridepublic Object instantiateItem(ViewGroup container, int position) { Log.e("信息", "PagerAdapter--instantiateItem"+position);container.addView(viewPagerViewList.get(position)); return viewPagerViewList.get(position); }

ViewPager的setOffscreenPageLimit(int)方法是预加载当前页左右两边的页数。
下图是设置为1的时候:


从上图可以看出,初始进入第0页,只有instantiateItem0和instantiateItem1,当滑动后到达第一页,此时会加载第2页。当继续右滑,当前页是第2页,会加载当前页的下一页,即第3页,同时会销毁掉第0页,这样始终会保持当前页左右两边只各加载了一页。limit设置为1,则始终只有3页内容被加载,不在范围的之前加载的会被销毁掉。
    

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

 从setOffscreenPageLimit源码可以看出,当setOffscreenPageLimit(0),并不会取消预加载。同时如果不设置的话,同样默认为setOffscreenPageLimit(1);
 

0 0
原创粉丝点击