Как я могу предоставить ссылки на элементы в списке Spark во Flex 4? - PullRequest
0 голосов
/ 04 марта 2011
<s:List id="lst"
            labelField="@label"
            change="lst_changeHandler(event)"
            horizontalCenter="0" verticalCenter="0">
        <s:dataProvider>
            <s:XMLListCollection>
                <fx:XMLList xmlns="">
                    <node label="One" />
                    <node label="Two" />
                    <node label="Three" />
                    <node label="Four" />
                    <node label="Five" />
                    <node label="Six" />
                    <node label="Seven" />
                    <node label="Eight" />
                    <node label="Nine" />
                </fx:XMLList>
            </s:XMLListCollection>
        </s:dataProvider>
    </s:List>

protected function lst_changeHandler(event:IndexChangeEvent):void
            {
               Alert.show(event.target.selectedItem); 

        }

Я хочу расширить список гиперссылками.Например, в каждом узле у меня должен быть атрибут href.Затем мне нужно перенаправить пользователей на выбранный элемент.Я знаю, что у Flash есть класс URLRequest.

Небольшая проблема, с которой я столкнулся сейчас, - получить выбранный предмет.Вероятно, это потому, что поставщик данных - xml, и я не выполнил правильное приведение.Или, может быть, некоторые более просвещенные, чем я, могут помочь мне.

Ответы [ 2 ]

1 голос
/ 05 марта 2011
<fx:Script>
    <![CDATA[
        import flash.net.navigateToURL;

        import spark.events.IndexChangeEvent;

        protected function lst_changeHandler(event:IndexChangeEvent):void
        {
            navigateToURL(new URLRequest(lst.selectedItem.@url));
        }

    ]]>
</fx:Script>

<s:List id="lst"
        labelField="@label"
        change="lst_changeHandler(event)"
        horizontalCenter="0" verticalCenter="0"
        >
    <s:dataProvider>
        <s:XMLListCollection>
            <fx:XMLList xmlns="">
                <node label="One" url="www.internet.com" />
                <node label="Two" url="www.internet2.com" />
                <node label="Three" url="www.internet3.com" />
                <node label="Four" url="www.bla.com" />
            </fx:XMLList>
        </s:XMLListCollection>
    </s:dataProvider>
</s:List>
0 голосов
/ 06 марта 2011
 var item:XML = event.target.selectedItem as XML; 
                   var label:String = item.@label; 
                   var url:String = item.@url; 
                   if(url != null) {
                    var ur:URLRequest = new URLRequest(url); 
                    navigateToURL(ur); 
                   }

Это было действительно очень просто!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...