Próbuję zadeklarować te elementy w moim UiBinder XML:Dodaj ID do pola z ui: deklaracji pola
<label for="lastName">Last Name:</label>
<input type="text" id="lastName" ui:field="lastNameField" maxlength="150" />
Mówiąc najprościej, etykiety, który jest skojarzony z wprowadzania tekstu.
Kiedy próbuję skompilować, jednak otrzymuję ten błąd:
[ERROR] Cannot declare id="lastName" and ui:field="lastNameField" on the same element Element (:23)
To wydaje się idiotyczny ograniczeń, zwłaszcza od ui:field
nie generuje identyfikator. Jedynym rozwiązaniem znalazłem tak daleko jest przypisanie identyfikatora w kodzie Java sama jak ta:
@UiElement InputElement lastNameField;
...
lastNameField.setId("lastName");
To dodaje niepotrzebnego bałaganu do mojego Java. Dodaje także komplikacji, że jeśli identyfikator zostanie zaktualizowany gdzieś w dół, deklaracja <label>
w XML również będzie musiała zostać zaktualizowana (i nie ma @UiElement dla etykiety, więc jest prawie całkowicie niewidoczny ze strony Java).
Czy istnieje sposób na dodanie identyfikatora do elementu z deklaracją pola ui: z samego pliku UiBinder XML?
Co z debugId? http://stackoverflow.com/questions/11845544/how-can-i-set-id-for-gwt-widgets-in-uibinder – Jonathan
Identyfikatory debugowania są dostępne dla ... debugowania. Nadużywanie narzędzi rzadko przynosi dobre efekty w dłuższej perspektywie. –