2012-01-06 3 views
0

私はViewStackを持っていて、複数のNavigatorContainerを持っています。各NavigatorContainerには、アプリケーションの異なるカテゴリの設定が含まれています。ViewStackがインデックスを変更するのを防ぐ

コンテナの設定に加えた変更を保存せずに現在のNavigatorContainerを終了しようとすると、ユーザーにプロンプ​​トを表示することができます。

リストコンポーネントの「変更中」イベントのようなものが理想的でしょう。これにより、イベントをキャンセルまたは延期することができます。 ViewStackのchangeイベントでpreventDefault()を呼び出しても、インデックスの変更が行われることはありません。

最低限のフープジャンプでこれを行う方法はありますか?

おかげ

答えて

3

ビューストラップの変更内容によって異なります。ビューチェンジャーとしてButtonBarを持っている場合たとえば、あなたは簡単にこのように書くことができます。

 protected function btnBar_changingHandler(event:IndexChangeEvent):void 
     { 
      event.preventDefault(); 
      //enter code here 
     } 

<s:VGroup width="100%" height="100%" horizontalAlign="center"> 
      <s:ButtonBar id="btnBar" dataProvider="{viewStack}" requireSelection="true" changing="btnBar_changingHandler(event)"> 
       <s:layout> 
        <s:ButtonBarHorizontalLayout gap="2" /> 
       </s:layout> 
      </s:ButtonBar> 
      <mx:ViewStack id="viewStack" width="100%" height="100%"> 
       <s:NavigatorContent width="100%" height="100%" label="First View"> 
        <comp:FirstView/> 
       </s:NavigatorContent> 
       <s:NavigatorContent width="100%" height="100%" label="Second View"> 
        <comp:SecondView/> 
       </s:NavigatorContent> 
      </mx:ViewStack> 
    </s:VGroup> 
0

恐ろしい何も屈折率変化に起こらない場合、なぜ現在のインデックスを保持していないと、あなたの変更イベントにちょうど戻ってそれらをポップし、あなたの警告を与えますか?

+0

それらをバックポップ、私はまた、changeventをトリガされ実現しました – Rupin

関連する問題