0

我正在用 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 类型。

4

1 回答 1

1

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

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

hgMods.addElement(rbGroupName);
于 2012-11-17T22:39:29.930 回答