EventBus 3.0

来源:互联网 发布:java http 幂等 编辑:程序博客网 时间:2024/05/18 02:44

1.build.gradle

compile ‘org.greenrobot:eventbus:3.0.0’

2.实体类(MessageEvent)

public class MessageEvent {    private String message;    public MessageEvent(String message) {        this.message = message;    }    public String getMessage() {        return message;    }    public void setMessage(String message) {        this.message = message;    }}

3.注册、 取消注册、 事件处理

public class MainActivity extends AppCompatActivity {    private TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv = (TextView) findViewById(R.id.tv);        tv.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                startActivity(new Intent(MainActivity.this,SecActivity.class));            }        });        EventBus.getDefault().register(this);//注册    }    @Subscribe(threadMode = ThreadMode.MAIN)    public void onMoonEvent(MessageEvent messageEvent){//处理        tv.setText(messageEvent.getMessage());    }    @Override    protected void onDestroy() {        super.onDestroy();        EventBus.getDefault().unregister(this);//取消注册    }}

4.发送事件

public class SecActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.sec);        Button btn = (Button) findViewById(R.id.btn);        btn.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                EventBus.getDefault().post(new MessageEvent("发送事件"));            }        });    }}

end

原创粉丝点击