![]() |
При добавлении MXML компонента в контейнер, нельзя обратиться к его дочерним объектам
Здравствуйте, есть простенький MXML компонент на основе SkinnableContainer:
Код AS3:
Если использовать mxml синтаксис, то при обращении к кнопке, вылетает ошибка:"Cannot access a property or method of a null object reference". Если использовать AS3, то все работает ок. Вердикт в том, что кнопки, добавленные через mxml синтаксис, не успевают инициализироваться на момент обращения к ним извне. Проблема заключается в том, что мне нужно в данном компоненте использовать, как раз mxml, поэтому хотелось бы как-то обойти этот нюанс. Заранее благодарен за любой совет или помощь. |
попробуйте повесить вызов init на creationComplete
|
Мне не нужен init(). AS3 код вызванный по addedToStage="init()" работает отлично. Но мне нужно избавиться от AS3 в этом компоненте.
|
Как у Вас выглядит AS3 код с mxml-компонентами?
|
Цитата:
Первый на MXML: Код AS3:
Код AS3:
Код AS3:
Проблема состоит в том, что нужно использовать только первый способ, то бишь чистый MXML. Добавлено через 25 минут Разобрался. Чтобы дочерний компонент(кнопка в данном случае) инициализировался сразу со своим родителем, нужно добавить ему параметр – itemCreationPolicy="immediate". Тогда эта ошибка не возникает. То бишь вот так вот: Код AS3:
|
"инициализировался" и "добавлялся на сцену" - разные вещи.
|
Цитата:
Во-вторых, в начале топика я весьма четко обрисовал ситуацию:"При добавлении этого компонента где-либо в программе, мне нужно тут же обратиться к его дочерним объектам, то бишь кнопкам." В-третьих, см. название темы. |
Цитата:
|
[IMG]http://s017.***********/i405/1112/f5/ca256d857b1c.png[/IMG]
А мне и не нужно ни creationComplete, ни init, ни addedtostage. Мне вообще не нужно запускать что-либо внутри самого моего компонента при его добавлении, в нем вообще не должно быть никакого кода и выше я это популярно объяснил. Мне лишь нужно добавить этот компонент в контейнер в моем главном View, и тут же задать дочерним объектам контейнера определенные параметры из этого самого View, и как я уже написал, решение давно найдено. |
| Часовой пояс GMT +4, время: 13:49. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.