SWFLoader和加载事件

时间:2013-03-27 10:51:11

标签: flex actionscript air

我正在使用我声明的SWFLoader:

<s:SWFLoader id="widget" maxWidth="150" maxHeight="75" maintainAspectRatio="true" />

我还有一种方法可以从ByteArray中设置它的来源:

public function set widgetSource(widgetSource:ByteArray):void
{
    this.widget.source = widgetSource;
}

它工作正常,但似乎设置widget.source是异步完成的,我需要知道它何时完成加载数据...我尝试了几件事没有成功,包括向'widget'添加一个Event.COMPLETE监听器但是事件永远不会被解雇。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要将事件侦听器添加到加载器本身,例如

   var url:String = "yourlocation of file";
   var myWidgetLoader:URLLoader = new URLLoader();
   myWidgetLoader.addEventListener(Event.COMPLETE, completeHandler);
   myWidgetLoader.load(new URLRequest(url));

   function completeHandler(event:Event):void
   {
     trace(" fully loaded ");
   }

您还可以添加一个进度事件来检查加载程序的进度,让我们知道您的运行方式。