我们如何引用在运行时动态添加的元素?
示例代码:
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" applicationComplete="init(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
protected function init(event:FlexEvent):void
{
// TODO Auto-generated method stub
trace(button1.label);
var newbtn:Button = new Button();
newbtn.label = "New Button";
newbtn.id = "button3";
newbtn.name = "button3";
mygroup.addElement(newbtn);
trace(this["button3"].label);
}
]]>
</fx:Script>
<s:HGroup id="mygroup">
<s:Button id="button1" label="Button 1" />
<s:Button id="button2" label="Button 2" />
</s:HGroup>
</s:WindowedApplication>
当我尝试运行上面的代码时,它会发送错误
Error #1069: Property button3 not found on project1 and there is no default value.
那么,我该如何调用新添加的按钮?
答案 0 :(得分:0)
将您的实例存储在变量中,并在您感觉到它时引用它。使用数组作为变量列表。
答案 1 :(得分:-1)
您可以尝试使用
var obj = this.getChildByName(“button3”);
之后,您可以使用obj来跟踪标签