Pregunta

i tratar de programar una ID única para UiBinder widget.but fallan .my aspecto constructor, como a continuación

public CustomUIWidget() {



    initWidget(uiBinder.createAndBindUi(this));

     this.getWidget().getElement().setId(DOM.createUniqueId());

         System.out.println(this.getWidget().getElement().getId());  //put debug line here, value is empty
}
¿Fue útil?

Solución

Esto es trabajo para mí (usando GWT 2.1):

ui.xml:

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" xmlns:g="urn:import:com.google.gwt.user.client.ui">

    <g:HTMLPanel>
        <g:Label text="test" />
    </g:HTMLPanel>
</ui:UiBinder>

el widget:

public TestView() {
    initWidget(uiBinder.createAndBindUi(this));
    getWidget().getElement().setId(DOM.createUniqueId());
    System.out.println(getWidget().getElement().getId());
}

Esto crea una salida como gwt-uid-# donde # es un número arbitrario.

El resto de su código está trabajando? A menudo había sucedido demasiado mi que tenía un error tipográfico o similar en el archivo ui.xml que no produjo ningún error visible (es decir, sin StackTrace), pero todavía era errónea.

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