私は SuggestBox を使用しており、ユーザーが提案を選択したときに発生する SuggestionEvent をキャプチャしようとしています。これは、通常のイベント ハンドラーで簡単に実行できます。
itemInputBox.addEventHandler(new SuggestionHandler() {
@Override
public void onSuggestionSelect(SuggestionEvent event) {
Window.alert(event.getSelectedSuggestion().getReplacementString());
}
});
これは正常に機能し、正しい置換文字列でイベントが発生します。ただし、コードが非常に簡潔であるため、可能な限り UiHandler を使用するのが好きです。だから私は次のことを試しました:
@UiHandler("itemInputBox")
void onSuggestionSelect(SuggestionEvent event) {
Window.alert(event.getSelectedSuggestion().getReplacementString());
}
しかし、これにより次のエラーが発生します。
[WARN] [jsonp] - Method 'getAssociatedType()' could not be found in the event 'SuggestionEvent'.
[ERROR] [jsonp] - Parameter 'SuggestionEvent' is not an event (subclass of GwtEvent).
同じ SuggestBox で別の UiHandler が正しく動作しているため、どこが間違っているのか混乱しています。
@UiHandler("itemInputBox")
void onKeyUp(KeyUpEvent event) {
Window.alert("Key up event firing.");
}
一方の UiHandler が正しく起動し、もう一方がエラーになる理由がわかりません。