2

私は次のようにアプリにビュースタックを持っています:

<mx:ViewStack id="viewStack" left="0" right="0" top="0" bottom="0">
    <views:LoginView top="0" bottom="0" right="0" left="0" id="loginView"/>
    <views:MainHomeView top="0" bottom="0" right="0" left="0" id="childSelectionView"/>
    <views:MainHomeView top="0" bottom="0" right="0" left="0" id="mainEvalView"/>
</mx:ViewStack>

イベントが発生したら、私は呼び出しますviewStack.selectedChild = childSelectionView

私の質問は、選択されている NavigatorConent のリスナーをどのようにコーディングすればよいですか?

これが私がやろうとしていることです:

<?xml version="1.0" encoding="utf-8"?>
<s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark"
    xmlns:local="*" xmlns:mx="library://ns.adobe.com/flex/mx" 
    creationComplete="init()">

    <fx:Script>
        <![CDATA[
        private function init():void
        {
            // Do something here
            advanceButton.visablitiy = false;
        }
    ]]>
</fx:Script>
<s:VGroup>

    <s:HGroup>
        <s:Button label="Advance" id="advanceButton" />
    </s:HGroup>
</s:VGroup>

私は、すべての NavigatorConent がアプリケーションの開始時に creationComplete イベントをディスパッチすることを知っていますが、それらの子はまだ作成されていません。on selectedChild の self への変更にどのように対応しましたか?

4

2 に答える 2

1

文字通り、あなたの質問がまったく同じ問題領域にある直前の質問を少し調べてみるとよい場合があります。FlexEvent.CONTENT_CREATION_COMPLETEイベントを使用します。

Flexエラー#1009を参照してください:nullオブジェクト参照のプロパティまたはメソッドにアクセスできません

于 2012-04-11T05:31:11.953 に答える
0
<fx:Script><![CDATA[
    import mx.controls.Alert;
    import mx.events.IndexChangedEvent;

    protected function viewStack_childIndexChangeHandler(event:IndexChangedEvent):void {
        Alert.show('Selected Child: ' + viewStack.selectedChild.label);
    }

    ]]></fx:Script>

<s:layout>
    <s:VerticalLayout/>
</s:layout>

<s:ButtonBar dataProvider="{viewStack}"/>
<mx:ViewStack id="viewStack" change="viewStack_childIndexChangeHandler(event)">
    <s:NavigatorContent id="navigator1" label="Navigator 1">
        <s:Group>
            <s:Button label="N1"/>
        </s:Group>
    </s:NavigatorContent>
    <s:NavigatorContent id="navigator2" label="Navigator 2">
        <s:Group>
            <s:Button label="N2"/>
        </s:Group>
    </s:NavigatorContent>
</mx:ViewStack>
于 2012-04-11T10:04:31.293 に答える