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 <[email protected]>
> 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 [email protected]
> Para sair da lista, envie um email em branco para flexdev-unsubscribe@**
> googlegroups.com <[email protected]>
> 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%[email protected]>
> .
> 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 [email protected]
Para sair da lista, envie um email em branco para
[email protected]
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 [email protected].
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.