Pergunta

Eu tenho um aplicativo Flex que faz referência a um arquivo MXML separado como modelo para um componente personalizado.Crio instâncias do componente dinamicamente várias vezes em meu programa, mas preciso obter um identificador que me permita modificar essa instância do componente conforme desejado.

Eu passo informações específicas para este componente na instanciação usando variáveis ​​públicas vinculáveis ​​no arquivo MXML do componente.Eu o adiciono ao meu programa principal usando addChild().

Quero atualizar a barra de progresso do componente conforme necessário e removê-la da caixa à qual adicionei o Child.

Qual é a melhor/mais fácil maneira de obter uma variável que me dê acesso previsível a cada componente para que eu possa manipular facilmente os componentes conforme necessário?Algumas pesquisas sugerem criação completa, mas decidi que era mais rápido apenas perguntar do que passar por vários experimentos diferentes e não dar em nada.

Obrigado por toda a ajuda.:)

Foi útil?

Solução

Você não pode simplesmente manter uma lista de seus componentes em uma matriz?Presumivelmente, você tem uma referência de objeto ao criá-los e chamar addChild() em seu pai.Por que não colocá-los em um array ao mesmo tempo?

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);

então você pode alcançá-los...

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

Você teria que se certificar de descartá-los adequadamente quando terminar, porque a referência em sua matriz os manteria existindo até serem limpos.

Se você decidir usar getChildren() - o que você poderia - reserve um tempo para ler a documentação porque acho que ela retorna um novo array a cada chamada.

Espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top