fragment+viewpage设置不预加载页面

      在用fragment+viewpage的时候发现viewpage会预加载下一个fragment,我的fragment是获取网络数据带加载进度条的,但是当前一个页面加载的时候,我发现他就执行了于是找办法解决,起初设置setOffscreenPageLimit(0),发现不管用,官方解释为它最小为1,于是继续寻找,发现fragment有一个方法为setUserVisibleHint,此方法意思为fragment是否可见,于是加入之后完美解决,但是需要在每个fragment中复写下边的方法:
        @Override
        public void setUserVisibleHint(boolean isVisibleToUser) {
                // TODO Auto-generated method stub
                if (isVisibleToUser) {
                        //fragment可见时加载数据
        } else {
            //不可见时不执行操作
        }
                super.setUserVisibleHint(isVisibleToUser);
        }

 

同时pagerAdapter.setOffscreenPageLimit(int),设置预先加载的个数,和当前页面距离超过预设值的页面都会被Destroy掉,可以先将预设值设置为总页面数,再加以上面的函数以控制。

posted on 2014-09-24 18:15  mimamo  阅读(166)  评论(0)    收藏  举报

导航