0

Flex TabbedViewNavigatorApplication があります

2 つのカスタム ナビゲーターの場合:

<s:navigators>
    <homepagenavigator:HomePageNavigatorView label="Home" id="homePageNavigator" width="100%" height="100%" />
    <categorylistpagenavigator:CategoryListPageNavigatorView label="List of Categories" id="categoryListPageNavigatorView" width="100%" height="100%" />
</s:navigators>

ここで、アプリ内のいくつかのイベントに基づいて、プログラムでナビゲーターを切り替えたいと考えています。

私が見つけた StackOverflow に関する唯一の質問は、このSwitch between Flex Tabbed ViewNavigators です

ただし、解決策は、Main.mxml内で作業している場合にのみ適用できます。これは、使用するnavigator.selectedIndex = 1;(または私の場合tabbedNavigator.selectedIndex = 1;)または使用するTabbedViewNavigator(navigator.parentNavigator).selectedIndex = 1;

しかし、Main.mxmlではなく、アプリ内のナビゲーターにアクセスする方法がわかりません

4

1 に答える 1

0

イベントを使用し、次のようにイベントから拡張する NavigationEvent を作成する必要があります。

  public class NavigationEvent extends Event
{
    public static const GO_TO_DESTINATION:String = "goToDestination";

    private var _destIndex:Number;
    private var _param:Object;

    public function NavigationEvent(type:String, destIndex:Number)
    {
        super(type, true);
        this._destIndex = destIndex;
    }

次に、タブを変更するコンポーネントにイベント リスナーを追加します。

COMPONENENT.addEventListener(NavigationEvent.GO_TO_DESTINATION, handleResult);

そして、handleResult メソッドでビューを切り替えます。

 private function goto(event:NavigationEvent):void{
            vs.selectedIndex = event.destIndex;
        }
于 2014-05-21T06:28:23.393 に答える