我正在尝试使用uiBinder。我遵循了谷歌提供的教程,但我不知道为什么点击事件不起作用?我想数一数点击次数,并在跨度中显示它,它不工作,我也放了window.alert,但似乎事件处理程序根本没有调用!有谁可以帮我?我已经花了几个小时了,但找不到问题!
非常感谢
下面是我的代码
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
xmlns:g="urn:import:com.google.gwt.user.client.ui">
<ui:style>
</ui:style>
<g:HTMLPanel>
<table>
<tr>
<td><img ui:field='imgPrd'/></td>
<td>
<span ui:field='lblNum'></span>
<g:Button ui:field='btnAdd'></g:Button>
</td>
</tr>
</table>
</g:HTMLPanel>
public class uiProductList extends Composite {
@UiField Button btnAdd;
@UiField ImageElement imgPrd;
@UiField SpanElement lblNum;
int count;
private static uiProductListUiBinder uiBinder =
GWT.create(uiProductListUiBinder.class);
interface uiProductListUiBinder extends UiBinder<Widget,
uiProductList> {
}
public uiProductList() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiHandler("btnAdd")
void handleClick(ClickEvent e) {
Window.alert("test");
count++;
lblNum.setInnerText(Integer.toString(count));
}
}发布于 2010-06-27 11:41:35
您应该正确地将小部件添加到根面板中。使用
RootPanel.get().add(uiProduct);
否则,将不初始化处理程序。
发布于 2011-02-10 09:35:46
我也有同样的问题,下面是结论:
RootPanel.getBodyElement().appendChild(uiProduct.getElement()); -不工作
RootPanel.get().add(uiProduct); -工作精细
https://stackoverflow.com/questions/3126071
复制相似问题