2011-03-04 3 views
0
<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 클래스가 있다는 것을 알고 있습니다.Flex 4의 Spark 목록에있는 항목에 대한 링크를 어떻게 제공합니까?

제가 지금 선택한 작은 문제는 선택한 항목을 얻는 것입니다. 그것은 propible 때문에 dataprovider 때문에 XML이며 나는 올바른 캐스팅을 수행하지 않았습니다. 아니면 나보다 더 계몽 된 사람이 나를 도울 수 있습니다.

+0

자세한 정보를 제공해야합니다. 구체적으로 달성하고자하는 것은 무엇입니까? –

+0

링크로 간단한 목록 만 만들고 싶습니다. html과 마찬가지로 링크 태그가있는 ul-list도 있습니다. – marko

답변

1
<fx:Script> 
    <![CDATA[ 
     import flash.net.navigateToURL; 

     import spark.events.IndexChangeEvent; 

     protected function lst_changeHandler(event:IndexChangeEvent):void 
     { 
      navigateToURL(new URLRequest([email protected])); 
     } 

    ]]> 
</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

사실 아주 간단했습니다. xml 속성 값으로 @를 사용하는 것을 잊었습니다. 얼마 전에 AS3을 썼습니다. – marko

0
var item:XML = event.target.selectedItem as XML; 
        var label:String = [email protected]; 
        var url:String = [email protected]; 
        if(url != null) { 
        var ur:URLRequest = new URLRequest(url); 
        navigateToURL(ur); 
        } 

은 정말 진짜 간단했다!

관련 문제