【问题标题】:Flex/AIR Mobile: TabbedViewNavigator selectedIndex not workingFlex/AIR Mobile:TabbedViewNavigator selectedIndex 不起作用
【发布时间】:2012-05-29 00:53:48
【问题描述】:

我在 FB 4.6 中有一个带有 TabbedViewNavigator 的移动项目。我有4个按钮,底部是viewnavigators,并充当标签。对于这种情况,假设选项卡被标记为 HOME、ADD、DELETE 和 ABOUT。我遇到了以下情况:

  1. 用户按下添加选项卡。
  2. 在“添加”屏幕中,用户单击几个链接,这些链接将它们从“添加”选项卡的 firstView 带离到一个新视图。对于本例,假设活动视图称为 PlayersView。
  3. 用户现在单击另一个选项卡,例如 HOME。
  4. 用户决定返回添加选项卡。但是,在按下 ADD 选项卡时,用户会被带到最后一个视图,在本例中是 PlayersView。

我怎样才能改变功能,以便在按下选项卡时,用户总是被带到该选项卡的 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');
}

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

【问题讨论】:

    标签: actionscript-3 apache-flex air flex4.6


    【解决方案1】:

    在您的代码中,当您设置时

    tabbedNavigator.selectedIndex 
    

    您在不同的 ViewNavigator 之间切换,而不是在 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();
    

    【讨论】:

    • 谢谢。问完这个问题后,我意识到我实际上是在问两个不同的问题。但是,主要问题是如何跳回您确实回答的第一个视图。感谢您的帮助。
    猜你喜欢
    • 2012-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    相关资源
    最近更新 更多