Получение дескрипторов для динамически генерируемых компонентов Flex

StackOverflow https://stackoverflow.com/questions/1709535

Вопрос

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

Я передаю определенную информацию этому компоненту при создании экземпляра, используя привязываемые общедоступные переменные в файле MXML компонента.Я добавляю его в свою основную программу с помощью addChild().

Я хочу обновить панель выполнения компонента по мере необходимости, и я хочу удалить ее из поля, в которое я ее добавил.

Каков самый простой / наилучший способ получить переменную, которая предоставит мне предсказуемый доступ к каждому компоненту, чтобы я мог легко манипулировать компонентами по мере необходимости?Некоторые исследования предполагают, что creationComplete завершен, но я решил, что быстрее просто спросить, чем проходить через множество различных экспериментов и ничего не получать.

Спасибо за всю помощь.:)

Это было полезно?

Решение

Разве вы не можете просто сохранить список ваших компонентов в виде массива?Предположительно, у вас есть ссылка на объект, когда вы их создаете и вызываете addChild() для их родительского элемента.Почему бы просто не поместить их в массив одновременно?

var list_of_controls:Array = new Array();
var new_Object:<yourType>;

new_Object = new <yourType>();
parent.addChild(new_Object);
list_of_controls.push(new_Object);

тогда вы сможете добраться до них...

var my_Object:<yourType>;
for each (my_Object in list_of_controls)
{
    // do something
}

Вам нужно было бы убедиться, что вы правильно распорядились ими, когда закончите, потому что ссылка в вашем массиве сохранит их существование до тех пор, пока они не будут очищены.

Если вы решите, что хотите использовать getChildren() вместо этого - что вы могли бы - найдите время, чтобы прочитать документацию, потому что я думаю, что она возвращает новый массив при каждом вызове.

Я надеюсь, что это поможет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top