我尝试为uibinder widget设置唯一的id.但是失败.my构造函数如下所示
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
}
Run Code Online (Sandbox Code Playgroud)
这对我有用(使用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>
Run Code Online (Sandbox Code Playgroud)
小部件:
public TestView() {
initWidget(uiBinder.createAndBindUi(this));
getWidget().getElement().setId(DOM.createUniqueId());
System.out.println(getWidget().getElement().getId());
}
Run Code Online (Sandbox Code Playgroud)
这会创建一个输出,例如gwt-uid-##是任意数字.
你的其余代码是否正常工作?我经常发生这样的事情,我在ui.xml文件中有一个拼写错误或者没有产生任何可见错误(即没有堆栈跟踪),但仍然是错误的.
| 归档时间: |
|
| 查看次数: |
2839 次 |
| 最近记录: |