如何使用actionscript为RadioButtonGroup分配“id”?

时间:2011-01-05 07:03:46

标签: flex actionscript-3 flash-builder

让我说我有一个

var rdGroup:RadioButtonGroup = new RadioButtonGroup();

我如何分配id

rdGroup.id = "id_RdGroup";

如何在VBox中添加此组说

var vbBox:VBox = new VBox();
 vbBox.addElement(rdGroup);

这件事给出了错误。找不到属性ID ...任何解决方案?

1 个答案:

答案 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"]);