我試圖讓ItemRenderer中有一個EventListener,但它不起作用。如何聆聽ItemRenderer中的事件?Flex:如何收聽ItemRenderer中的事件
----在MainHomeView.mxml ----
<fx:Metadata>
[Event(name="myEvent", type="flash.events.Event")]
</fx:Metadata>
protected function btnAdd_clickHandler(event:MouseEvent):void {
var eventObject:Event = new Event("myEvent", true, true);
dispatchEvent(eventObject);
}
----在UserRenderer.mxml(ItemRenderer的)---
protected function init(event:FlexEvent):void{ //run in CreationComplete
addEventListener("myEvent", onHandleEvent);
}
protected function onHandleEvent():void {
trace("Event received");
}
itemrenderer不在您點擊處理程序的Button的事件傳播路徑中。你可以嘗試'list.dispatchEvent(eventObject)',但我不認爲這也可以。你爲什麼不操縱數據提供者而不是這個? – 2012-04-02 19:59:23
@SamDeHaan所以你說在itemRenderer中沒有辦法擁有一個監聽器,即使有自定義事件?嗯,太糟糕了 – jameslcs 2012-04-02 20:05:22
這是可能的,但事件只從調度員傳播「向上」。 http://livedocs.adobe.com/flex/3/html/help.html?content=events_08.html你需要找到一種方法來在事件「下方」發送事件,這將是困難的。 – 2012-04-02 20:14:00