2010-08-26 56 views
0

如何添加一組動態圖像,然後向每個觸發不同事件的每個事件處理程序添加事件處理程序?在Flash Builder中爲每個設置動態圖像和事件處理程序

我的場景是我有一個遠程服務,抓取具有className,classID和classDescription的一組數據(ArrayCollection)。我希望圖像具有觸發新面板顯示的事件處理程序,該顯示會顯示被點擊的特定類的「classDescription」。我的問題是搞清楚如何檢索正確的數據集並將圖像正確地添加到面板。

回答

1

與陣列集合創建一個值對象,類或接口,確保屬性名稱是相同的,因爲它

 

public class DataObject 
{ 
    protected var _classDescription:String; 

    public function get classDescription():String 
    { 
    return _classDescription; 
    } 

    public function set classDescription(value:String):void 
    { 
    _classDescription = value; 
    } 
} 

當您檢索你的對象形成了你的ArrayCollection,您可以創建相關的存取環通對象的屬性將它們分配給您的值對象

 

    var dataObj:DataObject = new DataObject(); 

    for each (var prop:String in collectionObject) 
     if(dataObj.hasOwnProperty(prop)) 
      dataObj[prop] = collectionObject[prop] ; 

這個對象應該擴展雪碧這樣您就可以添加圖片作爲一個孩子並分派鼠標事件。在圖像容器,值對象將增加的MouseEvent監聽器和監聽功能可能是這樣的:

 
private function mouseClickHandler(event:MouseEvent):void 
{ 
    var target:YourValueObject = event.currentTarget as YourValueObject; 
    trace (target.classDescription); 
} 
+0

所以,如果我在我的集​​閤中的對象的屬性如上命名,以「鑄「將對象轉換爲DTO(值對象),我所要做的就是在DTO中設置變量以匹配ArrayCollection對象,並且它會傳遞它? – Organiccat 2010-08-26 20:23:33

相關問題