一个简单的例子
首先写一个Event类,这个类不需要具备特别的功能,主要用来记录一些信息
public class MyEvent {
String word = "This is my event";
}
然后是一个Listener类, 在方法中添加@Observes标注来注册监听某Event
public class MyListener {
public void doSomething (@Observes MyEvent myEvent) {
myEvent.word = "Event word is changed";
}
}
在界面中测试一下,需要注意的是这里要注入EventManager和刚才写的Listener.通过EventManager的fire方法来通知监听者
public class GuiceActivity extends RoboActivity {
@InjectView (R.id.textView1) TextView textView1;
@Inject EventManager eventManager;
@Inject MyListener myListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MyEvent myEvent = new MyEvent();
eventManager.fire(myEvent);
textView1.setText(myEvent.word);
}
}