Добавление кнопок в динамически созданную панель - PullRequest
0 голосов
/ 06 августа 2011

Я динамически создаю панели на основе информации, которую я получаю из XML-файла, но у меня возникла проблема с добавлением кнопок на эти панели. Эти кнопки также создаются на основе информации, взятой из файла XML. Кажется, проблема в том, как я называю панели идентификатором. Любая помощь, которую вы можете оказать, была бы великолепна.

private function sidebar():void{
            for each (value in xmlObj.SPORT.@Event)
            {
                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 xmlObj.SPORT.MatchResult.COMPETITION.@Comp)
                {
                    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);
                }

            }
        }

1 Ответ

0 голосов
/ 06 августа 2011

Используйте myInstance4.addElement для добавления потомков.

Вы уже создаете экземпляр, вызывая

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

Если вы создали эти элементы в MXML, да, вы бы использовалиСвойство id для уникальной идентификации каждого объекта при его использовании в ActionScript.Например,

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

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

НО,

если вы создали его с помощью ActionScript, вам не нужно устанавливать свойство id для доступа к нему, если у вас есть ссылка на этот объект.

protected function creationCompleteEvent(event:FlexEvent):void
{
   var myNewButton:Button = new Button();
   //You do not need to set the id here
   myNewButton.doWhatEver();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...