Pregunta

Estoy intentando mi mano en la nueva capacidad UiBinder GWT 2.0, y tengo un XML interfaz de usuario que es similar al siguiente:

<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui" xmlns:my='urn:import:com.mystuff.mypackage'>
<g:VerticalPanel>
      <!-- other stuff -->
  <my:FileUploadPanel.ValidatingFileUpload styleName="field" ui:field="fileUpload" />
</g:VerticalPanel>

ValidatingFileUpload es una clase interna no estática contenida en FileUploadPanel que extiende la clase FileUpload GWT. Tiene un constructor explícito cero-arg que simplemente llama super(). Sin embargo, cuando se pone en marcha GWT, me sale este error:

00:00:18.359 [ERROR] Rebind result 'com.mystuff.mypackage.FileUploadPanel.ValidatingFileUpload' has no default (zero argument) constructors.
java.lang.NoSuchMethodException: com.mystuff.mypackage.FileUploadPanel$ValidatingFileUpload.<init>()

Cualquier idea de lo que podría estar pasando mal aquí?

¿Fue útil?

Solución

Un necesidades clase interna no estáticos a ser instanciado dentro de una instancia de su clase que contiene. Esto prohíbe UiBinder de crear instancias de ella cuando sea necesario. Trate de usar una clase anidada estática en su lugar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top