Гибкий набор selectedItem в списке Spark вне обработчика IndexChangeEvent - PullRequest
0 голосов
/ 19 января 2012

У меня есть список искр, который является частью CallOutContent, примерно так:

<s:CalloutButton id="frequencyChanger" label="{frequencyChangeList.selectedItem.label}">
    <s:calloutContent>
        <s:BorderContainer>
             <s:layout>
                  <s:VerticalLayout/>
             </s:layout>
             <s:List id="frequencyChangeList" dataProvider="{Util.getFrequencyList()}" selectedIndex="8" requireSelection="false"                           changing="frequencyList_changingEvent(event)"/>
        </s:BorderContainer>
    </s:calloutContent>
</s:CalloutButton>

dataProvider представляет собой ArrayList с несколькими элементами следующей структуры:

public class ListItem
{
    public var label:String;
    public var item:Object;

    public function PeriodFrequencyListItem(label:String, item:Object) { 
        this.label=label;
        this.item=item;
    }
}

Предмет Предметом является Enum. Основанием для этого является сопоставление Enum с соответствующей меткой, которая будет отображаться в списке. Я бы использовал словарь, но эти списки не работают (к сожалению).

Так или иначе, в методе IndexChangeEvent я могу установить selectedItem на тот, который выбран в данный момент: intervalChangeList.selectedItem = event.currentTarget.selectedItem;

Что я не могу сделать (но отчаянно нуждаюсь в другой части класса), так это установить selectedItem объекта List вне метода IndexChangeEvent. Любая попытка установить элемент с чем-то вроде следующего провалилась, выдав исключение нулевого указателя.

frequencyChangeList.selectedItem = someListItemObject;

Я могу установить метки CallOutButtons, естественно, это не меняет выбор списка. Итак, где же хитрость в выборе элемента в списке вне его собственного «изменяющегося» метода?

Любая помощь будет высоко ценится. Ура!

1 Ответ

0 голосов
/ 11 февраля 2012

Вы пытались сделать это:

myList.selectedIndex = indexOfArray;

см. Здесь:

Как мне убедиться, что в списке искр всегда есть что-то выбранное?

...