1

如何在 flex 4 移动项目中为 spark ListEvent 设置 ITEM_CLICK。我试过这样,。

import spark.events.ListEvent;
fileList.addEventListener(ListEvent.ITEM_CLICK,itemDownloadHandler);

private function itemDownloadHandler(event:ListEvent):void
        {
            trace("now in item");
            // creating new FileReference
            file= new FileReference();
            // saving the clicked item to your computer
            // brings out a savedialogue

               file.save(event.itemRenderer.data.file,event.itemRenderer.data.label);

        }  

此代码在 Flex 3 中运行良好,但我不知道如何在 flex 4 中使用此单击事件。我也尝试过 ItemClickEvent,但我不知道如何在 ItemClickevent 中使用 event.itemRenderer。请任何人建议我一些想法来解决这个问题。提前致谢。

4

1 回答 1

0

在 Flex4 中,ITEM_CLICKList 组件不再有事件。您可以MOUSE_CLICK在列表中添加侦听器并在处理程序RENDERER_ADD中删除单击侦听器。RENDERER_REMOVE我使用这种方法来确保渲染器实例可以被 GCed。 API:渲染器添加/渲染器删除

例如:

fileList.addEventListener(RendererExistenceEvent.RENDERER_ADD , onRendererAdd );
fileList.addEventListener(RendererExistenceEvent.RENDERER_REMOVE , onRendererRemove);

function onRendererAdd(event:RendererExistenceEvent){
event.renderer.addEventListener(MouseEvent.CLICK, onRendererClick );
};

function onRendererRemove(event:RendererExistenceEvent){
event.renderer.addEventListener(MouseEvent.CLICK , onRendererClick );
};

function onRendererClick(event:MouseEvent){
// your actions here ... 
trace("now in item");
};
于 2014-01-06T14:29:06.897 回答