Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruna Diniz

Setar instância dinamicamente

Recommended Posts

E aí pessoal, como vão?

 

Estou com dúvida e nem sei se é possível, mas vamos lá...

 

Tenho uma série de botões criados dinamicamente, através de um XML.

Para eu conseguir efetuar o click, preciso instanciar esses botões.

Tem como fazer isto dinamicamente?

 

Obrigadinha desde já! =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem, basta você setar a propriedade name.Mas tem um segredo quando se esta trabalhando com xml provavelmente você ta guardando em vetor, e vetor trabalha com indice, entao você tem que dar um nome generico para os botoes e capturar so o indice

Exemplo:

 

botao0

botao1

botao2

.

.

.

botaon

 

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Atraves de um loop, pode ser um for mesmo.

Cada vez que ele entrar no for ele cria um objeto e atribui o nome.

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aí pessoal, como vão?

 

Estou com dúvida e nem sei se é possível, mas vamos lá...

 

Tenho uma série de botões criados dinamicamente, através de um XML.

Para eu conseguir efetuar o click, preciso instanciar esses botões.

Tem como fazer isto dinamicamente?

 

Obrigadinha desde já! =)

 

Se você soubesse quantos elementos o XML irira trazer, poderia fazer assim:

 

var bt0:Button;

var bt1:Button;

var bt2:Button;

var bt3:Button;

 

Depois no seu loop:

 

for(i=0; i<meuXml.length(); i++)

{

this["bt" + String(i)] = new Button();

// E siga fazendo o que você quiser

}

 

Depois a qualquer momento você acessaria o "bt0" e o outros normalmante.

Mas você não sabe quantos vai ter, e mesmo que sobesse apesar de funcionar desse jeito não é legal.

Então o melhor seria usar um array.

 

var meusBotoes:Array = new Array();

 

Depois no seu loop:

 

for(i=0; i<meuXml.length(); i++)

{

meusBotoes = new Button();

// Apartir daqui você acessa o botão como quiser.

addChild(meusBotoes);

meusBotoes.label = menuXml.botao.nome;

// E por ai vai

}

 

E a qualquer momento você pode acessar o botão pelo indice do array:

 

meusBotoes[0].addEventListener(...

 

E atravez do meusBotoes.length, você sabe quantos botões tem e tudo mais o array e os botões tem a oferecer.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.