EvnetBus消息传递 优化写法较传统写法更好理解、使用

首先需要了解基本使用

EventBus 使用心得及技巧 :http://blog.csdn.net/u010566681/article/details/52119931




EventBus 发现了一种更好 更简单的实现方式:


/**
 * 点击事件事件
 */
public class ClickEvent {
    public enum Type {
     //发送消息
     SEND_MSG,
    }

    public Type type;
    public View view;
    public Object data;

    public ClickEvent(Type type, View view, Object data) {
        this.type = type;
        this.view = view;
        this.data = data;
    }
}

这里定义了一个发送消息的事件SEND_MSG,在点击某个view的时候就可以发送事件

EventBus.getDefault().post(new ClickEvent(ClickEvent.Type.SEND_MSG, v, position));
EventBus.getDefault().post(new ClickEvent(ClickEvent.Type.SEND_MSG, v, position));


事件接收

  public void onEventMainThread(ClickEvent event) {
        switch (event.type) {
            case SEND_MSG:
            //接收到消息,可以在此进行处理
                break;
        }
    }

因为接收消息是全局的,如果我们发送消息,而不加type类型的话,那就都会被接收,造成逻辑混乱
所以每次都需要把类型定义一下。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值