EventBus 傳遞數據到新 Activity
於 2020年5月21日 (四) 08:33 由 Silica(留言 | 貢獻) 所做的修訂 (创建页面,内容为“Category:Android 2020-05-21 16:28 == 要点 == 1. 无需接受参数的地方不需要 <code>register</code> 和 <code>unregister</code>;<br> 2.…”)
2020-05-21 16:28
要點
1. 無需接受參數的地方不需要 register
和 unregister
;
2. 官方文檔是在 onStart()
和 onStop()
中 register
和 unregister
;
3. 已經沒有 registerSticky()
了。
版本
3.2.0
MainActivity
binding.btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { EventBus.getDefault().postSticky("Silica"); // 注意:使用 postSticky() startActivity(new Intent(MainActivity .this, SecondActivity.class)); } });
SecondActivity
@Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Subscribe(sticky = true, threadMode = ThreadMode.MAIN) public void onEvent(String event) { binding.tv.setText(event); // 接收到的 event 就是 String 的 "Silica" } @Override public void onStop() { EventBus.getDefault().unregister(this); super.onStop(); }