2013-08-30 124 views
1

我有延伸的GXT組合框類:@UiHandler:委託處理程序需要嗎?

public class RemoteCombo<Row> extends ComboBox<Row> { 
    ... 
} 

後來,我用它在一些代碼:

@UiField(provided = true) 
RemoteCombo<Town> town; 

@UiHandler("town") 
public void onTownValueChanged(ValueChangeEvent<Town> event) { 
    ... 
} 

我收到以下錯誤:

[ERROR] Field 'town' does not have an 'addValueChangeHandler' method associated. 

這是因爲townRemoteCombo,RemoteCombo延伸ComboBox,ComboBox有此方法。

如果我在委託該方法RemoteCombo.java,它的工作原理:

public HandlerRegistration addValueChangeHandler(ValueChangeHandler<Row> handler){ 
    return super.addValueChangeHandler(handler); 
} 

不過,我覺得奇怪,我要委派每當我需要@UiHandler使用方法。我做錯了什麼或者是錯誤?

+0

1.仔細檢查所提供的RemoteCombo使用正確的實現(一個擴展組合框)。 2.捕捉ChangeEvent而不是ValueChangeEvent 的作品? – otonglet

回答