Events 使用Flex 4的ListEvent的ITEM_单击处理程序
如何在flex 4 mobile项目中为spark ListEvent设置项目\单击。我已经这样试过了Events 使用Flex 4的ListEvent的ITEM_单击处理程序,events,flex4,Events,Flex4,如何在flex 4 mobile项目中为spark ListEvent设置项目\单击。我已经这样试过了 import spark.events.ListEvent; fileList.addEventListener(ListEvent.ITEM_CLICK,itemDownloadHandler); private function itemDownloadHandler(event:ListEvent):void { trace("now in it
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);
}
这段代码在Flex3中运行良好,但我不知道如何在Flex4中使用这个单击事件。我也尝试过ItemClickEvent,但我不知道如何在ItemClickEvent中使用event.itemRenderer。请任何人给我一些解决这个问题的建议。提前感谢。在Flex4中,列表组件上不再有单击事件。您可以在列表的
渲染器中添加鼠标\u单击
侦听器\u添加
,并在渲染器\u删除
处理程序中删除单击侦听器。我使用这种方法来确保渲染器实例可以被GCed。
例如:
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");
};