Как получить доступ к выбранным элементам в Adobe Air с помощью списка Spinner List? - PullRequest
0 голосов
/ 22 февраля 2012

Я изучаю Adobe Air и хочу получить текущий выбранный элемент в созданном мной списке прядильщиков, однако каждый раз, когда я использую selectedItem , я продолжаю получать одно и то же значение снова и снова, независимо от того, какой вариант Я выбираю. Я пытаюсь подать заявку на Playbook, и это мой код SpinnerList:

<s:SpinnerListContainer x="10" y="279" width="325" height="266">
    <s:SpinnerList width="69" height="100%" enabled="true" labelField="data" selectedIndex="1" id="From">
        <s:ArrayList>
            <fx:Object data="Time"></fx:Object>
            <fx:Object data="KM"></fx:Object>
            <fx:Object data="Miles"></fx:Object>
        </s:ArrayList>
    </s:SpinnerList>
</s:SpinnerListContainer>

Независимо от того, что «КМ» всегда отображается как выбранный пункт, когда это не так. Вот что я имею в тегах скрипта:

var selected = From.selectedItem;

Как я могу это исправить? Спасибо

1 Ответ

1 голос
/ 22 февраля 2012

Используя 4.6 SDK, это работает для меня:

<?xml version="1.0" encoding="utf-8"?>
<s:View title="HomeView"
        xmlns:fx="http://ns.adobe.com/mxml/2009"
        xmlns:s="library://ns.adobe.com/flex/spark">
    <fx:Script>
        <![CDATA[
            import spark.events.IndexChangeEvent;

            protected function From_changeHandler(event : IndexChangeEvent) : void
            {
                somewhereToDisplaySelected.text = From.selectedItem.data;
            }
        ]]>
    </fx:Script>
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <s:SpinnerListContainer height="266"
                            width="325"
                            x="10"
                            y="279">
        <s:SpinnerList change="From_changeHandler(event)"
                       enabled="true"
                       height="100%"
                       id="From"
                       labelField="data"
                       selectedIndex="1"
                       width="69">
            <s:ArrayList>
                <fx:Object data="Time">
                </fx:Object>
                <fx:Object data="KM">
                </fx:Object>
                <fx:Object data="Miles">
                </fx:Object>
            </s:ArrayList>
        </s:SpinnerList>
    </s:SpinnerListContainer>

    <s:TextInput id="somewhereToDisplaySelected"/>
</s:View>
...