动态添加radiobuttongroup

时间:2010-01-13 14:40:19

标签: flex flex3

我正在尝试在flex中进行测验并从xml文件加载数据。对于每个问题,我想创建一个radiobuttongroup,以便我可以将单选按钮关联到它。如何使用动作脚本实现这一目标?我可以看到addChild方法适用于DisplayObjects,我认为radiobuttongroup不是一个因为我收到错误。如何在flex应用程序中动态添加带动作脚本的radiobuttongroup?感谢。

2 个答案:

答案 0 :(得分:2)

如果向FormItem添加单选按钮,它们会自动组合在一起。因此,假设您的测验使用Flex Form进行布局,您只需为每个问题生成一个FormItem,为FormItem的每个选项添加一个按钮,然后将该FormItem添加到主窗体。

private function generateQuestions(questions:XML):void
{
    var form:Form = new Form();
    this.addChild(form);

    for each (var question:XML in questions.question)
    {
        var questionItem:FormItem = new FormItem();
        form.addChild(questionItem);
        questionItem.label = question.@text;

        for each (var option:XML in question.option)
        {
            var optionButton:RadioButton = new RadioButton();
            optionButton.label = option.@text;
            questionItem.addChild(optionButton);
        }
}

答案 1 :(得分:1)

您可以创建单选按钮,将它们添加到显示中,为它们创建一个组,并声明单选按钮属于同一组(RadioButton.group = group1)。 RadioButtonGroup确实不是一个显示对象,只是告诉属于该组的单选按钮它们应该作为一个元素。

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/RadioButtonGroup.html

http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/fl/controls/RadioButton.html