@UiHandler 未被击中的按钮操作
Button action with @UiHandler not being hit
我目前在使用 @UiHandler
注释实现按钮事件时遇到问题。在我的 .xml 文件中,我将按钮定义为 ui:field="clearAllButton"
。
在我尝试设置操作的 class (ServerTaskSchedulingViewImpl.java
) 中,我有以下内容:
interface ServerTaskSchedulingViewImplUiBinder
extends UiBinder<Widget, ServerTaskSchedulingViewImpl> {}
private static final ServerTaskSchedulingViewImplUiBinder uiBinder =
GWT.create(ServerTaskSchedulingViewImplUiBinder.class);
....
....
@UiField
Button clearAllButton;
....
....
@UiHandler("clearAllButton")
void clearAllButtonClicked(ClickEvent clickEvent) {
System.out.println("Button action performed");
}
当我在 clearAllButtonClicked
函数中设置断点时,它永远不会命中。
有人知道为什么会这样吗?
看起来是正确的,但这里的断点永远不会被击中,因为 javascript 就是 运行。尝试使用 SuperDevMode 并改为在浏览器中设置断点。
解决了问题 - 我的 .xml 文件的名称与我的 .java class 文件的名称不同,尽管 xml UiField 和 java变量名确实匹配。将 .xml 文件的名称更改为 JobViewImpl.ui.xml 并将 class 名称更改为 JobViewImpl.java。这解决了问题
我目前在使用 @UiHandler
注释实现按钮事件时遇到问题。在我的 .xml 文件中,我将按钮定义为 ui:field="clearAllButton"
。
在我尝试设置操作的 class (ServerTaskSchedulingViewImpl.java
) 中,我有以下内容:
interface ServerTaskSchedulingViewImplUiBinder
extends UiBinder<Widget, ServerTaskSchedulingViewImpl> {}
private static final ServerTaskSchedulingViewImplUiBinder uiBinder =
GWT.create(ServerTaskSchedulingViewImplUiBinder.class);
....
....
@UiField
Button clearAllButton;
....
....
@UiHandler("clearAllButton")
void clearAllButtonClicked(ClickEvent clickEvent) {
System.out.println("Button action performed");
}
当我在 clearAllButtonClicked
函数中设置断点时,它永远不会命中。
有人知道为什么会这样吗?
看起来是正确的,但这里的断点永远不会被击中,因为 javascript 就是 运行。尝试使用 SuperDevMode 并改为在浏览器中设置断点。
解决了问题 - 我的 .xml 文件的名称与我的 .java class 文件的名称不同,尽管 xml UiField 和 java变量名确实匹配。将 .xml 文件的名称更改为 JobViewImpl.ui.xml 并将 class 名称更改为 JobViewImpl.java。这解决了问题