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