【问题标题】:gwt uibinder set unique IDgwt uibinder 设置唯一ID
【发布时间】:2010-11-24 13:15:47
【问题描述】:

我尝试为 uibinder 小部件设置唯一 ID。但失败了。我的构造函数如下所示

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
}

【问题讨论】:

  • 这对我有用。能否提供更多代码?
  • 您使用的是gwt2.1吗?尝试在 system.out 上放置调试行。我试过它是空的。 DOM.createUniqueId() 确实创建了 uniqueID

标签: java gwt uibinder


【解决方案1】:

这对我有用(使用 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>

小部件:

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

这会创建类似gwt-uid-# 的输出,其中# 是任意数字。

您的其余代码是否正常工作?我也经常发生我在ui.xml 文件中有错字或类似错误,没有产生任何可见的错误(即没有堆栈跟踪)但仍然是错误的。

【讨论】:

    猜你喜欢
    • 2012-08-04
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 2017-03-17
    • 1970-01-01
    相关资源
    最近更新 更多