Penso que se subscreveres o evento Event.ADDED podes chamar o método init()
sempre que o LocaleEditor é adicionado a uma DisplayList.

2008/6/17 João Saleiro <[EMAIL PROTECTED]>:

>  Boas,
>
> tenho uma view que possui dois states, o "base" state e o "editing":
>
>     <mx:states>
>         <mx:State name="editing">
>
>             <mx:RemoveChild target="{dgListaDeLocales}"/>
>             <mx:AddChild relativeTo="{gestorDeLinguas}"
> position="lastChild">
>                 <ns1:LocaleEditor id="localeEditor"
> cancel="{currentState=STATE_BASE}" locale="{selectedLocale}"/>
>             </mx:AddChild>
>         </mx:State>
>     </mx:states>
>
>
> A view LocaleEditor não sabe, nem tem que saber que está a ser usada na
> view que tem os states. No entanto, preciso que a view LocaleEditor execute
> determinada função sempre que é "mostrada" ao utilizador.
>
> Fiz o seguinte teste (LocaleEditor.mxml) :
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:VBox
>     xmlns:mx="http://www.adobe.com/2006/mxml";<http://www.adobe.com/2006/mxml>
>     show="init()"
>     creationComplete="init()">
>
> <mx:Script>
>         <![CDATA[
>             import mx.controls.Alert;
>
>             private function init():void
>             {
>                 Alert.show("show");
>             }
>         ]]>
> </mx:Script>
>
> </mx:VBox>
>
>
> O Alert só aparece da primeira vez que a view é mostrada (ou seja, no
> creationComplete). A partir daí nunca mais é exibido!
> Quando se muda para o state "editing", da primeira fez é feito o addChild,
> logo chamado o creationComplete. Presumi que da segunda vez, ou era feito o
> addChild novamente, ou que simplesmente era mudado a propriedade "visible"
> dessa view. Pelos vistos não é nenhuma dessas duas coisas que acontece. Como
> resolvo então de forma a que o método "init()" seja chamado sempre que a
> view é mostrada ao utilizador?
>
> Obrigado,
>
> João Saleiro
> --
>   João Saleiro
>
> Email/MSN: [EMAIL PROTECTED]
> Skype: joao.saleiro
> Tel: +351 916 077 097 / +351 968 203 370
> WWW: http://www.webfuel.pt
>

--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

<<inline: logo.gif>>

Responder a