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掉,可以先将预设值设置为总页面数,再加以上面的函数以控制。
浙公网安备 33010602011771号