Как получить MultipleSelect ListBox с GWT, используя UiBinder - PullRequest
1 голос
/ 08 марта 2012

Я работаю над приложением, разработанным с помощью GWT с использованием UiBinder. В одном представлении у меня есть ListBox, который должен разрешить множественный выбор.

Приложение в настоящее время использует метод setMultipleSelect (boolean isMultipleSelect), чтобы включить множественный выбор в ListBox. Этот метод теперь устарел, и рекомендуется использовать конструктор ListBox (boolean isMultipleSelect).

Проблема в том, что я не создаю этот ListBox, он выполняется при связывании (думаю, я не совсем уверен, как все это работает).

Мой код такой:

interface ViewUiBinder extends UiBinder<Widget, View> {}

private static ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);

private Widget widget;
@UiField
ListBox listBox;

@Inject
public View() {
  widget = uiBinder.createAndBindUi(this);
  listBox.setMultipleSelected(true);
}

Кто-нибудь знает, как запустить ListBox с помощью конструктора конструктора множественного выбора и заставить его работать?

Спасибо

Матье

Ответы [ 2 ]

1 голос
/ 08 марта 2012

Я бы использовал provided = true параметр аннотации для UiField и инициализировал поле. Если вы не хотите инициализировать список с полем, но в конструкторе View, установите оператор перед uiBinder.createAndBinUi(this);

@UiField(provided = true)
ListBox listBox = new ListBox(true);
0 голосов
/ 09 марта 2012

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

<g:ListBox ui:field="listBox" multipleSelect="true" />

Я стараюсь избегать параметра аннотации provided=true до тех пор, пока он не станет абсолютно необходимым, и это не так.

...