我正在使用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
答案 0 :(得分:1)
正如错误消息所示:RadioButtonGroup不是DisplayObject
,这意味着它不是可视元素,因此您无法将其添加到显示列表中。 RadioButtonGroup
的功能是将RadioButton
逻辑地组合在一起,而不是视觉上。
解决方案是将每个RadioButton直接添加到HGroup。您可以保留其余代码。只需在循环中添加以下行:
hgMods.addElement(rbGroupName);