我正在使用gwt 2.3和uibinder。 在这里我使用了一个文本框,我想在其上添加keypress haldler。 以下是我的代码。 for ui.xml
<g:HTMLPanel>
<g:AbsolutePanel ui:field="absolutePanel">
<g:HorizontalPanel>
<g:TextBox ui:field="searchTB" ></g:TextBox>
</g:HorizontalPanel>
</g:AbsolutePanel>
</g:HTMLPanel>
表示.java
@UiField TextBox searchTB;
@Inject
public LibraryFormView(final Binder binder) {
widget = binder.createAndBindUi(this);
searchTB.addKeyPressHandler(new KeyPressHandler() {
@Override
public void onKeyPress(KeyPressEvent event) {
// TODO Auto-generated method stub
}
});
}
运行应用程序&amp;加载此页面时会出现如下错误。
[DEBUG] [v4workflow] - Rebinding com.nextenders.client.view.workflow.LibraryFormView.Binder
[DEBUG] [v4workflow] - Invoking generator com.google.gwt.uibinder.rebind.UiBinderGenerator
[ERROR] [v4workflow] - Method 'onKeyPress' must have a single event parameter defined.
我不知道我错在哪里。 请帮帮我。谢谢。
答案 0 :(得分:2)
您似乎在onKeyPress
中有一个名为LibraryFormView
的方法,该方法被@UiHandler
错误地注释。
请参阅http://www.google.com/codesearch#search&q=%22must+have+a+single+event+parameter+defined%22+package:http://google-web-toolkit%5C.googlecode%5C.com(它在getUiHandlers
的循环中)