gwt uibinder

gwt - Tratando de obtener UIBinder para darme un lapso no un div



(3)

Estoy creando un widget con UiBinder, y necesito tenerlo incluido en un <span /> pero UiBinder solo me da <div /> . Por ejemplo, <g:HTMLPanel /> => <div /> . HorizonPanel, FlowPanel, VerticalPanel también dan solo <div /> .

¿Alguien sabe alguna solución?


Con respecto a la respuesta anterior por Robert (lo siento, no puedo averiguar cómo comentar eso directamente)

Esto no funcionará de manera inmediata, ya que los widgets no se pueden colocar dentro de HTML simple (el compilador le dará "error: widget encontrado en el contexto html"). Pero hay una solución simple:

<ui:UiBinder xmlns:ui=''urn:ui:com.google.gwt.uibinder'' xmlns:g=''urn:import:com.google.gwt.user.client.ui''> <g:HTMLPanel> <span> <!-- Your content with widgets goes here --> </span> </g:HTMLPanel> </ui:UiBinder>

Otra cosa útil a mencionar son los widgets InlineHTML e InlineLabel que pueden contener html arbitrario o texto plano respectivamente en un <span>


Prueba esto:

<ui:UiBinder xmlns:ui=''urn:ui:com.google.gwt.uibinder'' xmlns:g=''urn:import:com.google.gwt.user.client.ui''> <g:HTMLPanel tag="span"> <!-- your stuff --> </g:HTMLPanel> </ui:UiBinder>


Puedes seguir usando un <div> pero solo agrega display: inline a su CSS, lo que hará que se muestre como si fuera un <span> .

Edición: lugar fijo al final donde dije ''div'' pero significaba ''span''.