使用EventBus 3.0实现ViewPager的懒加载

ViewPager的懒加载是指在ViewPager中当ViewPager的item可见时才进行加载的情况。因为ViewPager默认的预加载是1,并且通过viewpager的setOffscreenPageLimit(0);方法设置预加载为0无效。

这里主要讲EventBus在ViewPager的懒加载中的应用,EventBus的使用请自行百度。

1.使用ViewPager+Fragment实现选项卡。具体实现步骤网上有详尽的文档。
2.在Fragment里注册和订阅EventBus 。
1.在Fragment的onCreatView()方法里将控件初始化结束后,和onPause()方法里注册和反注册EventBus。
2.在Fragment里实现事件订阅方法,并将数据加载的处理放在这里。
例如:

     @Subscribe(threadMode = ThreadMode.MAIN,sticky = true,      priority = 100)
     public void onMoonEvent(MessageEvent messageEvent){
           //此处进行逻辑判断,以及数据加载
    }

3.在选项卡被点击时发布订阅事件:

EventBus.getDefault().postSticky(new MessageEvent(2));

总体思路是ViewPager在预加载时,可以进行界面初始化,但不进行数据加载,用以节省内存。在点击选项卡时,使用EventBus发布加载数据的事件,通知Fragment加载数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值