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.


Reply via email to