Я пытаюсь объявить эти элементы в своем UiBinder XML:
<label for="lastName">Last Name:</label>
<input type="text" id="lastName" ui:field="lastNameField" maxlength="150" />
Проще говоря, метка, связанная с текстовым вводом.
Когда я пытаюсь скомпилировать, я получаю эту ошибку:
[ERROR] Невозможно объявить id = "lastName" и ui: field = "lastNameField" в том же элементе Элемент (: 23)
Это похоже на идиотское ограничение, тем более что ui:field
не генерирует идентификатор. Единственное решение, которое я нашел до сих пор, - это назначить идентификатор в коде Java следующим образом:
@UiElement InputElement lastNameField;
...
lastNameField.setId("lastName");
Это добавляет лишний беспорядок для моей Java. Это также добавляет усложнение, что если этот идентификатор будет обновляться где-то в строке, объявление <label>
в XML также необходимо будет обновить (и там нет @UiElement для метки, поэтому он почти полностью невидим со стороны Java.)
Есть ли способ добавить идентификатор к элементу с объявлением поля ui: внутри самого UiBinder XML?