Я не могу сделать, чтобы пользовательское событие было получено в действии. Может кто-нибудь сказать мне, что я скучаю? Я использую GWT 2.1, шаблон MVP и UiBinder.
Вот пример того, что я написал:
Допустим, у меня есть класс MyCustomEvent
и интерфейс его обработчика MyCustomEventHandler
с его методом onMyCustomEvent(MyCustomEvent event)
.
Я реализую интерфейс обработчика в Activity:
class MyActivity extends AbstractActivity implements MyCustomEventHandler {
....
public void onMyCustomEvent(MyCustomEvent event) {
doWhatYouKnow();
}
//EventBus is injected with GIN
public void start(AcceptsOneWidget container, EventBus eventBus) {
...
eventBus.addHandler(MyEvent.TYPE, this);
}
}
Теперь отправляющая часть в виде:
public class MyWidget extends Composite {
final PopUpPanel myPopUp;
public MyWidget() {
initWidget(uiBinder.createAndBindUi(this));
myPopUp.addCloseHandler(new CloseHandler<PopupPanel>() {
@Override
public void onClose(CloseEvent<PopupPanel> event) {
MyEvent event = new MyEvent();
fireEvent(event);
}
});
}
}
Нет исключений, и, к сожалению, onMyCustomEvent
никогда не вызывается в классе MyActivity
. Любая идея? Спасибо миллион.