Reputation: 507
I am trying to use method addHandler on a Button. Following is my code:
private void attachClickHandler(Widget widget) {
ClickHandler clickHandler1;
ClickHandler clickHandler2;
clickHandler1 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler One");
}
};
clickHandler2 = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
System.out.println("ClickHandler Two");
}
};
((Button) widget).addClickHandler(clickHandler1);
widget.addHandler(clickHandler2, ClickEvent.getType());
}
If I add both handlers, it works perfectly. But if I try to add only clickHandler2 (with widget.addHandler(...), then the handler is not called.
Not able to figure out why?
Thanks in advance.
Upvotes: 3
Views: 4267
Reputation: 2662
Simply add
widget.sinkEvents(Event.ONCLICK);
this registers the dom 'click' event to trigger the event
Upvotes: 0
Reputation: 507
Only thing needed to get this working was:
Change
widget.addHandler(clickHandler2, ClickEvent.getType());
to
widget.addDomHandler(clickHandler2, ClickEvent.getType());
Upvotes: 7