在Flex标签式ViewNavigator之间切换

|| 我正在使用带有三个选项卡(ViewNavigator元素)的Flex
TabbedViewNavigatorApplication
。我想根据用户操作(通过ActionScript代码)从一个ViewNavigator切换到另一个。 我知道在Views之间切换使用
pushView
popView
,但是我正在使用ViewNavigator,而我的搜索没有发现有用的东西。 我正在尝试在事件发生时从Tab2切换到Tab1。在这种情况下,Tab2包含一个列表,并且当用户进行选择时,我想跳回到Tab1。
<s:TabbedViewNavigatorApplication xmlns:fx=\"http://ns.adobe.com/mxml/2009\" 
                                  xmlns:s=\"library://ns.adobe.com/flex/spark\"
                                  creationComplete=\"onAppReady(event)\">
    <s:ViewNavigator label=\"Tab1\" width=\"100%\" height=\"100%\" firstView=\"views.TabOneView\"/>
    <s:ViewNavigator label=\"Tab2\" width=\"100%\" height=\"100%\" firstView=\"views.TabTwoView\"/>
    <s:ViewNavigator label=\"Tab3\" width=\"100%\" height=\"100%\" firstView=\"views.TabThreeView\"/>
</s:TabbedViewNavigatorApplication>
谢谢你的帮助!     
已邀请:
此类奇怪地是无证的。我自己没有尝试过,但是通过在线搜索,我发现这与网络的其余部分相符。 您需要做的是将事件冒泡到
TabbedViewNavigatorApplication
,然后从此处将
selectedIndex
属性更改为需要更改为的任何选项卡。例如:
<s:TabbedViewNavigatorApplication xmlns:fx=\"http://ns.adobe.com/mxml/2009\" 
                                  xmlns:s=\"library://ns.adobe.com/flex/spark\"
                                  creationComplete=\"onCreationComplete()\">
    <fx:Script>
        <![CDATA[
            private function onCreationComplete():void
            {
                this.addEventListener(\'someEvent\', someHandler);
            }

            private function someHandler(e:Event):void
            {
                this.selectedIndex = 0; // or whatever index you want. 
            }
        ]]>
    </fx:Script>
    <s:ViewNavigator label=\"Tab1\" width=\"100%\" height=\"100%\" firstView=\"views.TabOneView\"/>
    <s:ViewNavigator label=\"Tab2\" width=\"100%\" height=\"100%\" firstView=\"views.TabTwoView\"/>
    <s:ViewNavigator label=\"Tab3\" width=\"100%\" height=\"100%\" firstView=\"views.TabThreeView\"/>
</s:TabbedViewNavigatorApplication>
您只需要在孩子中调度冒泡事件。您可以通过事件创建一个自定义事件,该事件包含有关要切换到哪个选项卡的数据。     
我使用以下动作脚本行根据用户操作从一个“ 7”切换到另一个:
TabbedViewNavigator(navigator.parentNavigator).selectedIndex = 1;
它像一种魅力一样工作,似乎比冒泡事件更简单。     

要回复问题请先登录注册