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