我根据从XML文件中获取的信息动态创建面板,但我在向这些面板添加按钮时遇到问题。这些buttoms也是基于从XML文件中获取的信息创建的。问题似乎在于我给面板一个Id名称的方式。你能给予的任何帮助都会很棒。
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);
}
}
}
答案 0 :(得分:0)
使用myInstance4.addElement
添加孩子。
您已经通过调用
创建了一个实例var myInstance4:spark.components.Panel = new spark.components.Panel();
如果您在MXML中创建了这些元素,那么,在ActionScript中使用它时,您将使用id属性唯一标识每个对象。例如
<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();
}