Android Viewpager+Fragment的懒加载实现

我想一个Android程序员基本上都会经常使用viewpager来实现图片轮播,页面滑动切换等功能,但在Viewpager+Fragment的时候添加Fragment如果不做处理,基本上初始化的时候Fragment里面的控件,网络请求,UI更新都会全部完成,那么问题来了,页面都还没有显示出来,数据Duang、Duang、Duang的都加载好网络吃不消呀,还会影响刚启动的响应速度,是不是很不爽,我想应该有办法让fragment显示出来的时候再去请求网络,更新UI,的确有,而且很简单,下面来看看:

实现Fragment懒加载

在Fragment中重写 setUserVisibleHint方法,而且这个方法是优于onCreate()方法的,所以也可以作为Fragment的一个生命周期来看待,它会通过isVisibleToUser告诉我们当前Fragment我们是否可见,我们可以在可见的时候再进行网络加载

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    if (isVisibleToUser&&GetInfo) {
        GetInfo = false;//可见后只执行一次,自己声明一个变量
        GetProblem();//初始化自己需要执行的操作
    }
    super.setUserVisibleHint(isVisibleToUser);
}

效果图下图:

 

不光是只在setUserVisibleHint方法中执行网络请求还可以在里面实现初始化界面控件的操作,一些耗时会影响运行速度的操作都可以放在里面在可见的时候执行,这个就看个人需求了,总之赖加载就通过这个方法实现了,是不是很简单,赶紧动手试一试吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值