Você pode trabalhar com os eventos 'show' e 'hide'. Tada vez que a tela for
exibida(inclusive a primeira) ele vai disparar este evento. Teste algo
assim:

    <mx:TabBar dataProvider="{vs}" />
>
>     <mx:ViewStack id="vs" y="20" >
>
>         <s:NavigatorContent label="tela 1" show="trace('show tela 1')"
> hide="trace('hide tela 1')" />
>
>         <s:NavigatorContent label="tela 2" show="trace('show tela 2')"
> hide="trace('hide tela 2')" />
>
>     </mx:ViewStack>
>

Só não vai ser chamado o trace da tela 1 ao iniciar o sistema.

Exemplo de saida ao entrar no sistema, mudar para a tela 2, e retornar à
tela 1:


hide tela 1
> show tela 2
> hide tela 2
> show tela 1
>

Abraços
--
@Tonussi <http://twitter.com/tonussi>
tonussi.com
skype: erictonussi


Em 10 de março de 2013 19:22, Fredy Gadotti <fredy.gado...@gmail.com>escreveu:

> Não lembro de cabeça o nome do evento, mas deve ser algo como IndexChange
> ou TabIndexChange.
> O que pode fazer para deixar reaproveitável, é adicionar uma interface
> para suas views e na hora que trocar de aba, chamar o método da interface.
>
> Mais ou menos assim:
>
> public interface IChangeable {
>    function afterChange();
> }
>
> Nas suas Views ai implemente essa interface e ponha a lógica que você
> quer, dentro dela.
>
> Ai onde tem seu ViewStack, você dá um cast da sua interface e chama o seu
> método. Assim não fica duplicando código.
>
> private function afterChangeIndex(event:IndexChangeEvent):void {
>  IChangeable(event.currentIndex).afterChange();
> }
>
> ( Os nomes e propriedades podem não ser esses, é mais para exemplificar a
> ideia ).
>
> Abraço,
>
> Fredy
>
>
>
> 2013/3/10 Luis Carlos Quinhone <lcquinh...@gmail.com>
>
>> Pessoal, tenho alguns views states assim no meu arquivo principal da
>> Aplicação - Main.mxml:
>>     <s:states>
>>         <s:State name="nada"/>
>>         <s:State name="Aplicacao"/>
>>         <s:State name="Login"/>
>>         <s:State name="Bloqueado"/>
>>         <s:State name="Sistema"/>
>>         <s:State name="Departamentos"/>
>>         <s:State name="Funcionarios"/>
>>     </s:states>
>>
>> São carregados assim:
>>
>>     <views:Departamentos id="viewDepartamentos"
>>                           includeIn="Departamentos"
>>                           left="0"
>>                           right="0"
>>                           top="33"
>>                           bottom="0"/>
>>
>> Quando eu entro nele pela primeira vez, ele executa o criationComplete do
>> sPanel, mas depois que ele ja foi criado,
>> mesmo saindo e voltando ele não executa mais pq ele apesar de não
>> visível, já está criado. Como posso executar a função init() toda vez que
>> entrar no State.
>> Essa função fica no arquivo Departamentos.mxml. Acho que eu teria que
>> remover o conteudo do viewState, mas não estu conseguindo fazer isso.
>>
>> Valeu!!
>> Luis Carlos
>>
>> --
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
>> Para sair da lista, envie um email em branco para flexdev-unsubscribe@**
>> googlegroups.com <flexdev-unsubscr...@googlegroups.com>
>> Mais opções estão disponíveis em 
>> http://groups.google.com/**group/flexdev<http://groups.google.com/group/flexdev>
>> --- Você está recebendo esta mensagem porque se inscreveu no grupo
>> "flexdev" dos Grupos do Google.
>> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
>> envie um e-mail para 
>> flexdev+unsubscribe@**googlegroups.com<flexdev%2bunsubscr...@googlegroups.com>
>> .
>> Para obter mais opções, acesse 
>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>> .
>>
>>
>>
>  --
> --
> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
> Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
> Para sair da lista, envie um email em branco para
> flexdev-unsubscr...@googlegroups.com
> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
> ---
> Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev"
> dos Grupos do Google.
> Para cancelar a inscrição neste grupo e parar de receber seus e-mails,
> envie um e-mail para flexdev+unsubscr...@googlegroups.com.
> Para obter mais opções, acesse https://groups.google.com/groups/opt_out.
>
>
>

-- 
-- 
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para 
flexdev-unsubscr...@googlegroups.com
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
--- 
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos 
Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um 
e-mail para flexdev+unsubscr...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.


Reply via email to