Автоматический выбор первого индекса в элементе управления списком искр в flex4 - PullRequest
1 голос
/ 11 апреля 2010

У меня есть элемент управления списком искр. У него есть dataProvider, который показывает ответ от поиска в твиттере.

Я создал функцию для обработчика изменений следующим образом:

protected function list_changeHandler(event:IndexChangeEvent):void
{
    ta.text = coverflow.selectedItem.title;
}

Таким образом, всякий раз, когда я выбираю каждый из элементов в списке, я вижу сообщение (ta.text) но теперь вместо того, чтобы вручную щелкнуть первый раз, я хочу, чтобы он автоматически щелкнул / выбрал первый элемент и увидел первое сообщение (ta.text)

Как мне этого добиться?

Ответы [ 4 ]

1 голос
/ 03 декабря 2011

Необходимо установить для свойства requireSelection значение true в элементе управления списком

<s:List id="myList" dataProvider="{myDataProvider}" requireSelection="true"/>
0 голосов
/ 11 апреля 2010

Как насчет попробовать это решение? :)

Ваш элемент управления списком также имеет имя события creationComplete (аналогично событию change). Попробуйте выбрать свой первый элемент с этим:

protected function list1_creationCompleteHandler(event:FlexEvent):void
{
    if(event.target.dataProvider != null )
    {
        (event.target as List).selectedIndex = 0;
    }
}

Возможно, вам не нужно конвертировать event.target в List. но это может помочь вам получить доступ к завершению кода во время кодирования.

0 голосов
/ 13 апреля 2010

Установите dataProvider из списка, установите выбранный элемент, а затем либо вызовите функцию-обработчик напрямую с нулевым параметром, либо сделайте так, чтобы список отправлял событие indexChanged, чтобы ваша функция-обработчик выполнялась.

0 голосов
/ 11 апреля 2010

На самом деле, думая об этом, вам, вероятно, нужно создать подкласс списка и переопределить установщик dataProvider.

override public function set dataProvider(data:*) : void {
  super._dataProvider = data;
  // This will be an ArrayCollection or XMLListCollection, so will have a length
  if (data && data.length > 0) {
    this.selectedIndex = 0;
    invalidateDisplayList();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...