在我的應用程序中將GWT從2.5.1升級到2.6.1後,我得到了幾個GWT編譯器錯誤,用於特定的自我實現複合小部件。升級後:GWT 2.6.1編譯器失敗:字段沒有'addValueChangeHandler'方法關聯
對於含這個小部件,它說一個觀點:
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這似乎是相關的,但這應該在我升級到的版本中修復。
謝謝, Rainer。
事實上,它之前的工作原理是因爲與原始類型匹配,而不是因爲您沒有使用事件的內容。 –
你說得對。我應該說:我不關心這種類型,因爲我沒有使用論據。 ;-) – rainer198