现在界面之间传递数据不再使用Intent Bundle了,因为很多时候那种方式并没有那么灵活,而且还很可能无法传递你想传递的数据,比如复杂的json,比如List<List<String>> 这种类型。那么该怎么办呢,现在就成功引起EvenBus在界面之间灵活传递数据。OK,话不多少,现在讲相关用法记录下来,谨记我跳进去爬上来的坑啊......
首先,直接引入3.0放在主项目gradle中:
compile 'org.greenrobot:eventbus:3.0.0' compile 'org.simple:androideventbus:1.0.5.1' provided 'org.glassfish:javax.annotation:10.0-b28'//解决获取不到@Subscribe注解的问题 provided 'de.greenrobot:eventbus-annotation-processor:3.0.0-beta1' //提升app的性能
其次,开始写你的发送事件代码:
PS:post 以及 poststicky
引用一下:
什么时候使用sticy,当你希望你的事件不被马上处理的时候,举个栗子,比如说,在一个详情页点赞之后,产生一个VoteEvent,VoteEvent并不立即被消费,而是等用户退出详情页回到商品列表之后,接收到该事件,然后刷新Adapter等。其实这就是之前我们用startActivityForResult和onActivityResult做的事情。