How can I set id for GWT widgets in UiBinder?

2019-01-23 18:40发布

In java code we can set id. Is it possible to set 'id' for GWT widgets in UiBinder itself?

If it is possilbe please give me a sample.

Actually I tried the following code,

<g:Button ui:field="login" debugId="loginButton">

Then I checked it in alert. Window.alert("Id: " + login.getElement().getId()); But the output is Id:.

Id is not set for the login button

Is there any better way to do this?

Can anyone help me?

Thanks in advance, Gnik

2条回答
Fickle 薄情
2楼-- · 2019-01-23 18:49

Adding ID is not possible. This problem is also filed as a bug report and closed as "as designed". For details, see:

http://code.google.com/p/google-web-toolkit/issues/detail?id=4176

But you can add a debugId if you add <inherits name="com.google.gwt.user.Debug"/> to your *.gwt.xml file.

See Mapping ui:field in GWT to generated code

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-01-23 18:58

Check an availability of the following line in your module file (*.gwt.xml ):

<inherits name="com.google.gwt.user.Debug"/> 

And call the ensureDebugId(Element, id) method in your code:

login.ensureDebugId(login.getElement(), "loginButton");
查看更多
登录 后发表回答