2011-08-06 32 views
0

XMLファイルから取得した情報に基づいてパネルを動的に作成していますが、これらのパネルにボタンを追加する際に問題があります。これらの要素は、XMLファイルから取得した情報に基づいて作成されます。問題は私がパネルにIDの名前を与える方法にあるようだ。あなたが与えることができるどんな助けも素晴らしいでしょう。動的に作成されたパネルにボタンを追加する

private function sidebar():void{ 
      for each (value in [email protected]) 
      { 
       var myInstance4:spark.components.Panel = new spark.components.Panel(); 
       myInstance4.title = value; 
       myInstance4.id = value; 
       sidebarbox.addChild(myInstance4); 
       Alert.show(myInstance4.id) 
       for each (value2 in [email protected]) 
       { 
        var myInstance3:spark.components.Button = new spark.components.Button(); 
        myInstance3.label = value2; 
        myInstance3.addEventListener("click",changeIt); 
        myInstance3.id=value2;  
      //  value.addChild(myInstance3); 
       // value.addElement(myInstance3); 
       } 

      } 
     } 

答えて

0

myInstance4.addElementを使用して子を追加します。あなたはMXMLでこれらの要素を作成した場合あなたは既に

var myInstance4:spark.components.Panel = new spark.components.Panel(); 

を呼び出してインスタンスを作成している

は、はい、あなたはActionScriptでそれを使用している際に、各オブジェクトを一意に識別するためのIDプロパティを使用しています。あなたは、ActionScriptを使用して作成した場合の例

<s:Button id="myButton" label="My Button" /> 

protected function creationCompleteEvent(event:FlexEvent):void 
{ 
    myButton.doSomething(); 
} 

しかし、

について、あなたは限り、あなたは、そのオブジェクトへの参照を持っているとして、それをアクセスするためのIDプロパティを設定する必要はありません。

protected function creationCompleteEvent(event:FlexEvent):void 
{ 
    var myNewButton:Button = new Button(); 
    //You do not need to set the id here 
    myNewButton.doWhatEver(); 
} 
関連する問題