如何在Flex 4中的Spark List控件中处理click事件

mot*_*ver 6 events list click flex4

我有:列表组件.我想处理一个click事件以了解选择了哪个列表项.我在s:List中没有看到Click事件.任何解决方法?

谢谢.

小智 11

我知道我在这里迟到了,但是在click事件中从列表中获取所选节点的最简单方法是使用currentTarget属性.

function myClickHandler(event:MouseEvent):void{
   Alert.show("My Var: " + event.currentTarget.selectedItem.myVar);
}

<s:List ... click="myClickHandler(event);">
...
</s:List>
Run Code Online (Sandbox Code Playgroud)

看到:

http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7cdb.html


mot*_*ver 2

我想出了如何做到这一点。我想我会分享这样可以帮助像我这样的其他人:

<s:List id="taskList" creationComplete="taskList.addEventListener('listClickEvent',handleListClick);" width="100%" height="80%" labelField="description" dataProvider="{todoList}" 
        useHandCursor="true">
    <s:itemRenderer>
        <fx:Component>
            <s:ItemRenderer click="handleClick(event)">
                <fx:Script>
                    <![CDATA[
                        import ListClickEvent;

                        import flash.events.MouseEvent;

                        import mx.controls.Alert;
                        private function handleClick(me:MouseEvent):void
                        {
                            var listClickEvent:ListClickEvent = new ListClickEvent("listClickEvent");
                            listClickEvent.index = itemIndex;
                            owner.dispatchEvent(listClickEvent);
                        }
                    ]]>
                </fx:Script>
                <s:Label text="{data.description}" top="5" bottom="5" right="3" left="3"/>
            </s:ItemRenderer>
        </fx:Component>
    </s:itemRenderer>
</s:List>   
Run Code Online (Sandbox Code Playgroud)