Как добавить элементы списка с помощью UiBinder?
Как добавить элементы в список GWT ListBox в шаблоне Uibinder .ui.xml?
comment
code.google.com/webtoolkit/doc/latest/ показывает, как добавлять элементы ListBox из файла Java, хотя я предполагаю, что вы спрашиваете, можно ли указать их в шаблоне UiBinder.
- person aem   schedule 14.06.2010
comment
ага.... я спрашиваю, можем ли мы дать предметы в самом uibinder
- person Kasturi   schedule 14.06.2010
Ответы (3)
Это список переводов перечисления, я полагаю, это также работает для списка со строковыми значениями (версия GWT: 2.1.0)
Вам нужен только рендерер для перевода значений перечисления.
// XML пользовательского интерфейса
<g:ValueListBox ui:field="requesterType"/>
//JAVA-КОД
@UiField(provided = true)
ValueListBox<RequesterType> requesterType = new ValueListBox<RequesterType>(requesterTypeRenderer);
static EnumRenderer<RequesterType> requesterTypeRenderer = new EnumRenderer<RequesterType>();
public Constructor() {
requesterTypeRenderer.setEmptyValue(Translations.translateEmptyValue(RequesterType.class));
requesterType.setAcceptableValues(Arrays.asList(EnumUtil.getRequesterTypes()));
}
/**
* Translates enum entries. Use setEmptyValue() if you want to have a custom empty value. Default empty value is "".
*
* @param <T>
* an enumeration entry which is to be registered in {@link Translations}
*/
public class EnumRenderer<T extends Enum<?>> extends AbstractRenderer<T> {
private String emptyValue = "";
@Override
public String render(T object) {
if (object == null)
return emptyValue;
return Translations.translate(object);
}
public void setEmptyValue(String emptyValue) {
this.emptyValue = emptyValue;
}
}
person
dssinel
schedule
08.02.2011
Ганни, как бы вы соединили свое решение с декларативной интернационализацией, описанной здесь?
- person expert; 29.02.2012
Можно с версии февраля 2011:
http://code.google.com/p/google-web-toolkit/issues/detail?id=4654
После этого исправления теперь вы можете добавлять элементы, используя следующий синтаксис:
<g:ListBox>
<g:item value='1'>
first item
</g:item>
<g:item value='2'>
second item
</g:item>
</g:ListBox>
person
Jla
schedule
15.06.2010
GWT ValueListbox иначе известен как компонент ComboBox или Dropdown. Еще один пример, который также демонстрирует заполнение списка.
UiBinder...
<g:ValueListBox ui:field="subCategory"/>
Редактор...
@UiField(provided = true)
ValueListBox<String> subCategory = new ValueListBox<String>(
new Renderer<String>() {
@Override
public String render(String object) {
String s = "Cats";
if (object != null) {
s = object.toString();
}
return s;
}
@Override
public void render(String object, Appendable appendable)
throws IOException {
render(object);
}
});
Конструктор...
List<String> values = new ArrayList<String>();
values.add("Animal Shelters and Rescues");
values.add("Birds");
values.add("Cats");
values.add("Dogs");
values.add("Other Pets");
values.add("Rabbits");
subCategory.setAcceptableValues(values);
person
Gary Eberhart
schedule
13.06.2011