2012-03-05 38 views
0

我是Flex的新手,並且遇到問題,爲什麼eventlistener始終爲event.data返回null。我試圖實現一個簡單的是/否提示數據刪除。我已經包含了skinnable容器代碼和調用mxml。 alertDB_close處理程序觸發我知道,但event.data是空的。感謝您的任何建議4.5 adobe builder/flex eventhandler/skinablepopupcontainer返回的數據爲空

主MXML:

protected function button1_clickHandler(event:MouseEvent):void 
{ 


// Create an instance of MyAlertPopUp. 
var alertDB:AlertMsgPurge = new AlertMsgPurge(); 
// Add an event handler for the close event to check for 
// any returned data. 
alertDB.addEventListener('close', alertDB_closeHandler); 
alertDB.open(this, true); 

} 
private function alertDB_closeHandler(eventP:PopUpEvent):void { 
// If commit is false, do data is returned. 

rd.text = eventP.data as String; 
//return; 

       /
} 

AlertMsgPurge:

<?xml version="1.0" encoding="utf-8"?> 
    <s:SkinnablePopUpContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     xmlns:mx="library://ns.adobe.com/flex/mx"> 

<fx:Script> 

    <![CDATA[ 
     // // 
    public function onClick(commit:Boolean):void { 
    close(true);       
    } 
    ]]> 
</fx:Script> 
<s:TitleWindow title="" x="75" y="300"> 

    <s:VGroup horizontalAlign="center" paddingTop="8" paddingBottom="8" paddingLeft="8" paddingRight="8" gap="5" width="100%"> 
     <s:Label text="Warning!! all data will be deleted"/> 
     <s:Button label="Yes" click="close(true);"/> 
     <s:Button label="No" click="close(false);"/> 
    </s:VGroup> 
</s:TitleWindow>  

+0

爲什麼你不能嘗試使用自定義事件? – Triode 2012-03-06 04:56:15

回答

0

與該功能改進:

private function alertDB_closeHandler(eventP:PopUpEvent):void { 
     trace("eventdata:"+eventP.commit); 
} 

您可以在用戶CLI見cked「是」或「否」,那麼你可以做你的處理。 你在找什麼?