apache-flexactionscript-3flex4.5matemate-flex-framework

How do you choose the initial view for a flex application?


I want to load an initial component to be displayed in my flex app, depending on whether a value in the SharedObject is set (first launch). How do I accomplish that?


Solution

  • Easy enough:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   applicationComplete="onApplicationComplete()">
        <fx:Script>
            <![CDATA[
                private function onApplicationComplete():void
                {
                    var so:SharedObject = SharedObject.getLocal('something');
                    // add conditionals here
                        addElement(new SomeView());
                }
            ]]>
        </fx:Script>
    </s:Application>
    

    Or with States:

    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
                   xmlns:s="library://ns.adobe.com/flex/spark" 
                   xmlns:mx="library://ns.adobe.com/flex/mx"
                   applicationComplete="onApplicationComplete()">
        <fx:Script>
            <![CDATA[
                private function onApplicationComplete():void
                {
                    var so:SharedObject = SharedObject.getLocal('something');
                    // add conditionals here
                        this.currentState = 'someview2';
                }
            ]]>
        </fx:Script>
        <s:states>
            </s:State name="someview" />
            </s:State name="someview2" />
            </s:State name="someview3" />
        </s:states>
    
        <local:SomeView includeIn="someview" width="100%" height="100%" />
        <local:SomeView2 includeIn="someview2" width="100%" height="100%" />
        <local:SomeView3 includeIn="someview3" width="100%" height="100%" />
    </s:Application>