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