1.添加依赖:compile 'org.greenrobot:eventbus:3.1.1'
2.创建一个消息类
3.
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_event_bus) EventBus.getDefault().register(this) btn_eventbus.onClick { startActivity<MainActivity>() } } override fun onDestroy() { super.onDestroy() EventBus.getDefault().unregister(this) } @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(event: MessageEvent) { Toast.makeText(this,"test received event message", Toast.LENGTH_LONG) btn_eventbus.text = event.message Log.d("test", "test") }
流程是注册--->接受----->注销
注意,哪里注册就在那里需要@Subscribe要不会报错
4.发送信息:
class EventPresent { fun sendMessage(){ println("================") EventBus.getDefault().post(MessageEvent("test event send")) } }
这样EventBus的Activity就能接收到post的信息
参考: