GWT UiBinder есть ли способ иметь динамический список виджетов? - PullRequest
14 голосов
/ 28 июня 2010

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

1 Ответ

27 голосов
/ 28 июня 2010

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

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

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

...