Eu tenho meu Canvas, e ao inicializá-lo eu faço:
var popup:IFlexDisplayObject;
private function init():void
{
popup = new empresa_inserir();
popup.name = "empresa_inserir";
//PopUpManager.addPopUp(popup,this);
//PopUpManager.removePopUp(popup);
}
Isso pq eu quero inicializar meu popup que será adicionado e removido
de acordo com a necessidade do usuário.
O problema é que na hora de add meu popup ao popupmanager eu tenho o
seguinte código:
private function chama_inserir():void
{
PopUpManager.removePopUp(popup);
var tmp:DisplayObjectContainer = popup as
DisplayObjectContainer;
var tmp2:TextInput =
tmp.getChildByName("txtNome") as TextInput;
tmp2.text = "Bruno";
PopUpManager.addPopUp(popup,this);
PopUpManager.centerPopUp(popup);
}
Que não funciona! A linha que tem tmp.getChildByName("txtNome") não
encontra nenhum child com esse name. Embora ele faça parte do meu
empresa_inserir.mxml
Criei um alert no creationcomplete do meu empresa_inserir.mxml e notei
que ELE SÓ É CHAMADO NA PRIMEIRA VEZ QUE EU ADD ELE NO POPUPMANAGER ao
invés de ser chamado quando eu inicializao meu canvas, ou seja, quando
eu faço popup = new empresa_inserir();.
Assim, na primeira vez que eu clico para add meu popup ao popupmanager
os child do meu empresa_inserir.mxml ainda não foram inicializados por
isso eles não podem ser encontrados.
Então, para resolver isso eu adiciono e removo meu popup ao criá-lo
( linhas comentadas no primeiro código ), isso para que todo seu
conteúdo seja construído, depois quando o cliente clica no botão para
abrir o popup ele funciona normalmente pois seus children podem ser
encontrados.
Não gostei deste comportamento, não gostei de ter que add e remover o
popup. Existe alguma forma melhor de resolver este problema?
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
Para sair da lista, envie um email em branco para
[email protected]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---