Here's the simple use case:

I have a viewstack with a few components. Each of these is based on a
panel.

The linkbar controls the viewstack

When the user logs in I remove a child and add two children to the
viewstack

When the user logs out I remove the two children I previously added
and readd the child I removed previously.

On login and logout I set the selectedIndex of the viewstack to 0.

Everything seems to work perfectly fine except when the last child of
the viewstack is selected. The child at index 0 is selected but the
view is not updated to reflect the selection. 

here's some sample code:


private function handleSuccessfulLogin(evt:CustomEvent):void
{
        views.removeChildAt(1);
                                
        var eventManagerScreen:EventManager = new EventManager();
                                
        eventManagerScreen.label = "Event Manager";
        eventManagerScreen.title = "Event Manager";
        eventManagerScreen.percentHeight = 100;
        eventManagerScreen.percentWidth = 100;

                                
        var profileScreen:Profile = new Profile();
                                
        profileScreen.label = "Profile";
        profileScreen.title = "Profile";
        profileScreen.percentHeight = 100;
        profileScreen.percentWidth = 100;
                                
        views.addChildAt(eventManagerScreen, 1);
        views.addChildAt(profileScreen, 2);
        views.selectedIndex = 0;
}
                        
private function doLogout():void
{
        views.removeChildAt(2);
        views.removeChildAt(1);

        var registrationScreen:RegistrationScreen = new RegistrationScreen();
                                
        registrationScreen.label = "Register";
        registrationScreen.title = "Register";
        registrationScreen.percentHeight = 100;
        registrationScreen.percentWidth = 100;
                                
        views.addChildAt(registrationScreen,1);
        views.selectedIndex = 0;
}
                        

<mx:ViewStack id="views" 
        width="100%" height="100%" 
        selectedIndex="0">
                
        <ui:EventDisplay id="eventDisplay" 
                label="Events"
                width="100%" height="100%"/>
                        
        <ui:FAQ id="faq" 
                label="FAQ" 
                title="FAQ" 
                width="100%" height="100%"/>
        
</mx:ViewStack>

Reply via email to