2010-02-02 4 views
0

У меня возникают проблемы с добавлением радиообмена к VBox в ActionScript.flex добавить radobutton ребенка в VBox

var radioButton:RadioButton = new RadioButton(); 
    radioButton.groupName = "source"; 
    radioButton.label = "label"; 

    radioButton.selected = false; 
    radioButton.addEventListener(Event.CHANGE, sourceChangeHandler); 

    vBox.addChild(radioButton); 

Я первым создал эти радиокнопки в MXML и она работала хорошо, но теперь, что радиокнопки должны быть динамически генерироваться в ActionScript он не работает.

При переходе в отладчик я получаю ошибку привязки (1009) при попытке выполнить оператор addchild и ничего не отображается в VBox. Есть ли что-то, что я делаю неправильно?

ответ

1

это выглядит нормально единственное, что я могу видеть, что вы можете попробовать изменить

radioButton = new RadioButton(); 

в

var radioButton:RadioButton = new RadioButton(); 

Если это не так, что он может что-то делать с тем, как ваш инстанцировании ваш VBox ,

EDIT

В соответствии с нашими комментариями, это выглядит как реальная проблема заключается в том, что ViewStack должна иметь свойство изменилось.

creationPolicy="All" 

Таким образом, vBox существует в памяти, когда к нему добавляется радиокнопка.

+0

извините за путаницу. Я вырезал код из большего файла, и переменная (radiobutton) была создана правильно, но не в опубликованном фрагменте. Исправлен фрагмент. Сожалею. – asawilliams

+0

Я так много думал. В вашей ошибке немного кажется вероятной причиной того, что VBox еще не был создан, когда вы пытаетесь вызвать метод addChild, можете ли вы дать фрагмент экземпляра VBox? А также, может быть, показать, когда эта функция называется? – invertedSpear

+0

контейнер, в котором находится, находится в представлении, и это не выбранный контейнер. Как вы думаете, это источник проблемы? – asawilliams

Смежные вопросы