在Flex中的HGroup中动态创建单选按钮

时间:2012-11-17 22:20:26

标签: actionscript-3 flex dynamic radio-button flex-spark

我正在使用Flex 4编写应用程序。

我创建了一个像这样的HGroup:

<s:HGroup id="hgMods">
</s:HGroup> 

然后,在Actionscript中,我循环遍历一个集合并动态地向RadioButtonGroup添加单选按钮。然后,我想将RadioButtonGroup添加到HGroup。

这是我目前的代码:

var rbg:RadioButtonGroup = new RadioButtonGroup();

for each (var obj:[some object] in [some collection]) {             

    var rbGroupName:RadioButton = new RadioButton()
    rbGroupName.label = obj.[some named value].toString()
        rbGroupName.group = rbg;

}

现在,我如何将RadioButtonGroup添加到HGroup?

我尝试了hgMods.AddChild(rbg);

当我这样做时,我收到了错误:

  

1067:类型值的隐式强制   spark.components:RadioButtonGroup为不相关的类型   flash.display使用:。的DisplayObject

1 个答案:

答案 0 :(得分:1)

正如错误消息所示:RadioButtonGroup不是DisplayObject,这意味着它不是可视元素,因此您无法将其添加到显示列表中。 RadioButtonGroup的功能是将RadioButton逻辑地组合在一起,而不是视觉上。

解决方案是将每个RadioButton直接添加到HGroup。您可以保留其余代码。只需在循环中添加以下行:

hgMods.addElement(rbGroupName);