利用EventBus来实现通信遇到的问题
利用EventBus来实现通信遇到的问题。
我想利用一个Timer来实现多界面的更新,因此我使用了EventBus的jar包,可以实现不同线程之间通信。
现在我遇到了一个奇怪的问题,程序如下:
public void onEventMainThread(MyEvent event) {
String msg = "onEventMainThread" + event.getMsg();
System.out.println(msg);
TextView textView = (TextView) findViewById(R.id.textView01);
textView.setText(String.format("%.2f",MyData.aidian[0][0])+ "---"+ (MyData.testNum + ""));
}
我用这个eventbus方法,来实现界面数据的更新。
现在我在layout中的Activity_Main界面,更新数据没有问题。但是,当我切换到其他界面,再切换回来时,Activity_Main界面中的 textView已经被初始化,并且不再更新数字。
但是System.out.println(msg);——这个语句在logCat中打印了的。
只有textView.setText(String.format("%.2f",MyData.aidian[0][0])+ "---"+ (MyData.testNum + ""));——这个语句不执行,界面中也不变化。
说明public void onEventMainThread(MyEvent event)这个方法没有问题,是得到执行了的。但是为何到了其他界面后,再返回到Activity_Main界面时,System.out.println语句可以执行,但是更新UI的程序就不执行了呢?