【发布时间】:2014-07-21 08:34:12
【问题描述】:
在我的应用程序中将 GWT 从 2.5.1 升级到 2.6.1 后,对于特定的自行实现的复合小部件,我遇到了几个 GWT 编译器错误。
对于包含此小部件的视图,它会说:
Rebinding com.myapp.client.page.FilterPanel.Binder
[java] Invoking generator com.google.gwt.uibinder.rebind.UiBinderGenerator
[ERROR] Field 'statusBox' does not have an 'addValueChangeHandler' method associated.
[ERROR] Errors in 'gen/com/myapp/client/page/com_myapp_client_config_MyAppGinjector_MyappGinjectorGinjector_fragment.java'
该字段是一个包含TextBox 和DefaultMultiWordSuggestBox 的通用建议框
public class SuggestValueBox<T> extends Composite implements HasConstrainedValue<T> {
...
@Override
public HandlerRegistration addValueChangeHandler(ValueChangeHandler<T> handler) {
return addHandler(handler, ValueChangeEvent.getType());
}
}
因此,我认为该领域有这样的方法。
似乎只有当泛型类型 T 是枚举时,编译器才会失败(同一视图也有 SuggestValueBox<String> 实例,这对编译器来说似乎没问题。)枚举类型在 shared 包中.
我还发现了这个问题https://code.google.com/p/google-web-toolkit/issues/detail?id=6091,这似乎是相关的,但这应该在我升级到的版本中得到修复。
谢谢, 雷纳。
【问题讨论】: