自己根據http://blog.csdn.net/harvic880925/article/details/40660137學習eventbus,但是我在android studio 中引入
No subscribers registered for event class錯誤
compile 'de.greenrobot:eventbus:2.4.0'
firstactivity
public class EventFirstActivity extends Activity { Button btn; TextView mes; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.eventbus_first); btn = (Button) findViewById(R.id.btn); mes = (TextView) findViewById(R.id.text_mes); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // EventBus.getDefault().post("jkdklfksjlkfs"); //EventBus.getDefault().post(new FirstEvent("調用第一個頁面的eventbus main")); Intent intent = new Intent(); intent.setClass(getApplicationContext(), EventSecondActivity.class); startActivity(intent); } }); } public void onEventMainThread(FirstEvent model) { // mes.setText(model.getmMsg()); //Toast.makeText(this, model.getmMsg(), Toast.LENGTH_SHORT).show(); System.out.println(model.getmMsg()); } @Override protected void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override protected void onDestroy() { EventBus.getDefault().unregister(this); } @Override protected void onStop() { super.onStop();
//注意這裏,我開始是寫在這裏,結果出現No subscribers registered for event class
//查找資料發現應該寫在onDestroy否則找不到event //EventBus.getDefault().unregister(this); } }
secondactivity
public class EventSecondActivity extends Activity{ Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.eventbus_second); btn= (Button) findViewById(R.id.btn_sencond); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { EventBus.getDefault().post(new FirstEvent("調用第一個頁面的eventbus main")); } }); } }