解决 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

你可能感兴趣的:(解决 activity 和 fragment 传递数据方法。)