Динамически добавление радиобуттонгруппы - PullRequest
1 голос
/ 13 января 2010

Я пытаюсь сделать тест на гибком и загружаю данные из файла XML. Для каждого вопроса я хочу создать радиобутгруппу, чтобы я мог связать с ней радиокнопки. Как я могу сделать это с помощью ActionScript? Я вижу, что метод addChild работает для DisplayObjects, и я предполагаю, что radiobuttongroup не один, потому что я получаю ошибки. Как я могу динамически добавить radiobuttongroup с ActionScript в приложении Flex? Спасибо.

Ответы [ 2 ]

2 голосов
/ 15 января 2010

Если вы добавите переключатели в 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 голос
/ 13 января 2010

Вы создаете переключатели, добавляете их на дисплей, создаете для них группу и объявляете переключатели, принадлежащие к той же группе (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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...