Bom dia pessoal,
Neste momento após 3 longos dias de testes e debugging não consigo
encontrar o porque de quando altero a view na viewstack ele não
instancia os componentes dentro dessa view.
Isto é tenho um ficheiro Main.mxml que contem uma viewstack com dois
componentes (LoginPanel e UserManagerPanel) e que segue a seguinte
sequencia:
- Aplicação começa
- Faço Login
- Após sucedido mostra a view UserManagerPanel <- e aqui deveria
instanciar os dois componentes dento do UserManagerPanel e não o faz
(que são o UserList e o UserForm).
Já fiz debug de muitas formas diferentes, e só me dá null.
Este é o meu Main.mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal"
xmlns:loginComp="com.pt.onedesign.user_manager.view.components.Login.*"
xmlns:userManagerComp="com.pt.onedesign.user_manager.view.components.UserManager.*"
initialize="facade.startupApp(this)">
<mx:Script>
<![CDATA[
import
com.pt.onedesign.user_manager.view.ApplicationMediator;
import com.pt.onedesign.user_manager.ApplicationFacade;
private var facade:ApplicationFacade =
ApplicationFacade.getInstance();
[Bindable] public var currentViewSelector:int =
ApplicationMediator.LOGIN_PANEL;
public var activeView:Object;
]]>
</mx:Script>
<mx:Binding source="appView.selectedChild" destination="activeView" />
<mx:ViewStack id="appView" resizeToContent="true"
selectedIndex="{currentViewSelector}" >
<loginComp:LoginPanel id="loginPanel"/>
<userManagerComp:UserManager id="userManagerPanel"/>
</mx:ViewStack>
</mx:Application>
E esta é a parte em que ele muda a view:
(ApplicationMediator.as vou só resumir a parte principal do código que
muda a view)
public static const LOGIN_PANEL : int = 0;
public static const USER_MANAGER_PANEL : int = 1;
case LoginProxy.LOGIN_SUCCESS:
app.currentViewSelector = USER_MANAGER_PANEL; <- ele faz isto e muda a
view
facade.registerMediator(new
UserListMediator(app.activeView.userList)); <- aqui já deveria ter o
userList instanciado e dá-me null :|
facade.sendNotification(UserProxy.GET_USERS_LIST);
break;
É realmente estranho, existia uma solução que era o creationPolicy=all
mas gostaria de saber se existe outra solução?
Daniel Gomes
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---