Oi, João.

Tenta sobrescrever o método updateDisplayList no teu LocaleEditor.mxml.
Nunca estudei como as viewstates funcionam, mas acho que, cada vez que elas são 
operadas, uma chamada para invalidateDisplayList() deve ser feita, o que 
ocasiona uma chamada para updateDisplayList .
Uso sempre este método como uma espécia de "coringa", porque ele sempre é 
chamado quando acontece uam mudança nas propriedades de um componente.


override protected function updateDisplayList(unscaledWidth:Number, 
unscaledHeight:Number):void{
                 Alert.show("show again");
            }

 
Gabriela Trindade Perry - http://www.gabriela.trindade.nom.br



Date: Tue, 17 Jun 2008 13:48:51 +0100
From: [EMAIL PROTECTED]
To: [email protected]
Subject: [riapt] Reacção ao "show" numa view que é usada num state








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

    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

-- 
Untitled Document




  
    
      
      João Saleiro 

      

Email/MSN: [EMAIL PROTECTED]

Skype: joao.saleiro

Tel: +351 916 077 097 / +351 968 203 370

WWW: http://www.webfuel.pt
    
  





_________________________________________________________________
Explore the seven wonders of the world
http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
--~--~---------~--~----~------------~-------~--~----~
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