Почему radioButtonGroup не устанавливает свои numRadioButons мгновенно? - PullRequest
0 голосов
/ 19 августа 2010

Вот мой код:

            var x : int = 50;
            var group : RadioButtonGroup = new RadioButtonGroup();
            for (var i : int = 0; i < 5; i++) {
                var rb : RadioButton = new RadioButton();
                rb.id = i.toString();
                rb.group = group;
                rb.label = i.toString();
                rb.x = x;
                x += 40;
                cnv_subContent.addElement(rb);//a BorderContainer
            }
            Alert.show(group.numRadioButtons.toString());

когда я запускаю приложение, оно показывает мне «0». Почему это?

1 Ответ

4 голосов
/ 19 августа 2010

Это связано с жизненным циклом flex компонента . Когда RadioButton назначается группа, он фактически не добавляется, пока его commitProperties не выполнит кадр позже.

Чтобы получить правильные group.numRadioButtons, вам придется делать вещи асинхронно. Что-то интересное - это spark.components.RadioButtonGroup отправляет недокументированное событие «numRadioButtonsChanged» всякий раз, когда переключатели добавляются или удаляются. Это работает, но, конечно, вы пользуетесь без документов на свой страх и риск.

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