解决 activity 和 fragment 传递数据方法。

最近项目中使用到了EventBus 这个库。感觉真是棒极了。

应用场景:

场景一:

    Activity  与 Fragment 进行数据传递的时候,怎么办?
     1:定义静态变量全局控制
     2:使用回调接口。
     3:传递handler 在fragment 直接调用。

代码赶脚耦合度高吗?而且不宜于扩展,是不是还看不出来哪里耦合度高了是吧?
在接着看第二个场景:


这里写图片描述

图片的美丑不在我们考虑范围内咯,意思表达到就可以咯。

场景二:

       Activity 与 viewpager 中的 多个fragment 交互吗? 而且每个fragment 只有细微的差别,都是通过  
       **1.时间选择** 和  **2搜索内容进行条件搜索的。**

这个时候我们怎么办啦?
怎么办啦?
怎么办啦?

我们先看一张解决后的效果。

这里写图片描述

解决办法:

1.通过全局变量来进行传递。(不可取,一点代码美感都没有)
2.在传递hanlder 进行控制
3.通过回调接口来传递。

(提醒一下:) 仔细观察一下,三个既然都是接收1.时间和2.搜索的内容 是不是三个都公用一个接口都可以了啦。(不明白回调的话,可以看看其他相关文章咯) 当然是不可以的,此时的调用回调只回引用一个,而且是最后调用哪一个可以调用。

看到上面的可能就会想到,那我就写三个接口吧,每次都传递传递值,我都调用这三个接口还不行吗?

行啦,当然行啦。 但是我们要注重代码的可以读性。

4:完美解决办法—–写的少,可读性高,性能强。

EventBus

下载的库地址:

compile ‘org.greenrobot:eventbus:3.0.0’

下面 就期待我更新 源码解读心的以及Demo吧。

演示Demo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值