让我说我有一个
var rdGroup:RadioButtonGroup = new RadioButtonGroup();
我如何分配id
rdGroup.id = "id_RdGroup";
如何在VBox中添加此组说
var vbBox:VBox = new VBox();
vbBox.addElement(rdGroup);
这件事给出了错误。找不到属性ID ...任何解决方案?
答案 0 :(得分:2)
id 是一个mxml属性,可让您定义要创建的对象的名称。所以,或多或少,
<mx:Button id="myButton" />
与此伪代码相同:
public var myButton:Button = new Button();
this.addChild(myButton);
MXML定义的对象是一种快捷方式。如果您没有定义 id 属性(因为您不需要在代码中引用给定对象),它将由编译器创建,编译器会选择唯一的名称。
这就是为什么对象没有 id 属性而你无法分配它。 MXML中的 id 是actionscript中变量的名称。
如果您尝试通过String将句柄保存到多个变量,则需要以某种形式保留它们的列表,一种可能的解决方案是:
var myGroups:Object = new Object();
var rdGroup:RadioButtonGroup = new RadioButtonGroup();
myGroups["id_RdGroup"] = rdGroup;
[...]
vbBox.addElement( myGroups["id_RdGroup"]);