2012-10-18 28 views
1

我正在试图制作一个Widget,它将twitter的引导样式概括为可折叠项目。UiBinder中的动态字符串(不适用于i18n)

我必须让它工作硬编码它,但我发现一些贫困者抽象它。

小部件看起来像:

<div class="accordion" id="accordion1"> 
    <div class="accordion-group"> 
    <div class="accordion-heading"> 
     <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion1" href="#collapseOne"> 
     ... text to show collapsed ... 
     </a> 
    </div> 
    <div id="collapseOne" class="accordion-body collapse"> 
     <div class="accordion-inner"> 
     ... anything to show expanded ... 
     </div> 
    </div> 
    </div> 
</div> 

的事情是,这里采用依赖于一些div标签的ID的的JavaScript。广义的小部件需要将其随机化或取决于在构造函数中传递的某些种子。

从Java部分访问那些生成的字符串也是很好的,因为这将是设置窗口小部件中显示文本的一种奇特方式。

我的第一种方法是使用类似<ui:with type="com.a.b.c.IdGenerator" field="idGenerator"></ui:with>的东西,但它似乎动态地实例化类IdGenerator,因此在Java部分中不能访问字符串。

是否有任何奇妙的方式来产生那些从Java部分访问它们的字符串?

回答

1

你只需要一个@UiField IdGenerator idGenerator在Java端有通过它注入<ui:with>创建的实例(或者你可以@UiField(provided = true)它)。

+0

就是这样! 我没有意识到'@ UiField'指令可以与''标签一起使用。 谢谢你的回答! – NublicPablo