GWT UiBinder как получить динамический список виджетов?

Класс Foo имеет переменную List<Button> bar, как я могу отобразить каждую из кнопок с помощью UiBinder? Это вообще возможно?


person Finbarr    schedule 28.06.2010    source источник


Ответы (1)


UiBinder — это шаблон XML для декларативного размещения виджетов и не средство визуализации. Следовательно, вы не можете использовать условные операторы, циклы и другие логические конструкции в UiBinder XML.

Вместо этого вы можете иметь панель в UiBinder в качестве простого заполнителя для того места, где вы хотели бы разместить все свои кнопки. Имейте ссылку ui:field на эту панель в своем классе Java. Прокрутите список кнопок и добавьте кнопки на панель в коде Java, используя дескриптор поля.

Другой подход заключается в том, чтобы определить композит и добавить его в UiBinder, а затем позволить композиту самостоятельно выполнять рендеринг кнопок. Просто зависит от того, что лучше всего подходит для вашего дизайна.

person Ashwin Prabhu    schedule 28.06.2010