android eventBus 的简单使用(一)

首先应用jar包  如果是eclipse请自行下载  https://download.csdn.net/my

compile 'org.greenrobot:eventbus:3.0.0'

然后写一个 实体类用于 存储传递数据和状态值

public class EventBusCarrier {

    private String eventType; //区分事件的类型
    private Object object; //事件的实体类

    public Object getObject2() {
        return object2;
    }

    public void setObject2(Object object2) {
        this.object2 = object2;
    }
    
    private Object object2;
    public String getEventType() {

        return eventType;
    }

    public void setEventType(String eventType) {
        this.eventType = eventType;
    }

    public Object getObject() {
        return object;
    }

    public void setObject(Object object) {
        this.object = object;
    }
}

第二步在接受数据的activity中注册event和销毁event 

EventBus.getDefault().register(this);  //事件的注册
@Override
protected void onDestroy() {
    EventBus.getDefault().unregister(this); //解除注册
    super.onDestroy();
}

第三步在activity中实现接受方法

// 普通事件的处理
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void handleEvent(EventBusCarrier carrier) {
        String pass = (String) carrier.getObject();
        String cphone = (String) carrier.getObject2();
        name.setText(cphone);
        password.setText(pass);
//        toast_Base(content);
    }

第四步在数据发送出实现event

EventBusCarrier eventBusCarrier = new EventBusCarrier();
eventBusCarrier.setEventType("1");
eventBusCarrier.setObject2(cellphone.getText().toString());
eventBusCarrier.setObject(password.getText().toString());
EventBus.getDefault().post(eventBusCarrier); //普通事件发布 //

结束

如果接受event的地方比较多  可以通过上面的eventType 在handleEvent控制是否接受 

猜你喜欢

转载自blog.csdn.net/qq_36355271/article/details/86518639