Flex / AIR Mobile:TabbedViewNavigator selectedIndex无法正常工作

时间:2012-05-29 00:53:48

标签: actionscript-3 flex air flex4.6

我在FB 4.6中有一个带有TabbedViewNavigator的移动项目。我底部有4个按钮,它们是ViewNavigators,并充当选项卡。对于这个例子,我们可以说标签是HOME,ADD,DELETE和ABOUT。我遇到了以下情况:

  1. 用户按下ADD选项卡。
  2. 在ADD屏幕中,用户点击几个链接,这些链接将它们从ADD选项卡的firstView和新视图中一起带走。对于这个例子,假设活动视图称为PlayersView。
  3. 用户现在点击另一个标签,例如HOME。
  4. 用户决定返回“添加”选项卡。但是,按下ADD选项卡后,用户将进入最后一个视图,在本例中为PlayersView。
  5. 如何更改功能,以便在按Tab键时,用户始终被带到该选项卡的firstView属性。如上所述,这不会发生。我已尝试在tabbedNavigator上创建一个IndexChangeEvent侦听器,然后更改tabbedNavigator的selectedIndex,但这不起作用。

    protected function tabbedviewnavigatorapplication1_applicationCompleteHandler(event:FlexEvent):void {
    
          this.tabbedNavigator.addEventListener(IndexChangeEvent.CHANGE,onIndexChange);
    }
    
    
    protected function onIndexChange(event:IndexChangeEvent):void {
    
          this.tabbedNavigator.selectedIndex = event.newIndex;
          trace(' THIS DOESN'T WORK');
    }
    

    感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

在您的代码中,当您设置

tabbedNavigator.selectedIndex 

您在不同的ViewNavigators之间切换,而不是在ViewNavigator内的不同视图之间切换。

据我了解,您试图将保留在单个ViewNavigator堆栈中并选择第一个View

假设你有:

<s:navigators>
    <s:ViewNavigator id="addSomethingNavigator" firstView="views.AddView"/>
    <s:ViewNavigator id="deleteSomethingNavigator" firstView="views.DeleteView"/>
</s:navigators>

您可以像这样弹出特定的ViewNavigator的第一个View

addSomethingNavigator.popToFirstView();