0
私は単純なTabbedViewNavigatorApplicationを作成しました。新しいビューを読み込むのではなく、2つのタブがそれぞれテキストと電子メールを送信します。だから私は新しいビューを押すのデフォルトの動作を防ぐ必要があります。ビューのpreventDefaultの使用
文書にはa view can cancel a navigation operation by canceling its FlexEvent.REMOVINGと記載されています。しかし、明らかに、FlexEventのような定数はありません。しかし、ViewNavigatorEventについては、その最初のリンクのさらに遠くに記載されています。だからここ
は、私が持っているものだが、私どちらもトレースステートメントを参照してくださいにもナビゲーションを停止することができています:あなたは
vwText.addEventListener(ViewNavigatorEvent.REMOVING, doSomething);
アウトを取る必要があり
<?xml version="1.0" encoding="utf-8"?>
<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" applicationDPI="160" creationComplete="completeHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import spark.events.ViewNavigatorEvent;
private function completeHandler(e:Event):void
{
vwText.addEventListener(ViewNavigatorEvent.REMOVING, removingHandler);
}
private function removingHandler(e:ViewNavigatorEvent):void
{
trace("removingHandler::");
e.preventDefault();
}
private function doSomething(e:MouseEvent):void
{
trace("Do Something");
}
]]>
</fx:Script>
<s:ViewNavigator id="vwText" label="Text" width="100%" height="100%" click="doSomething(event)" firstView="views.SendasTextView"/>
<s:ViewNavigator label="Email" width="100%" height="100%" firstView="views.SendasEmailView"/>
<s:ViewNavigator label="History" width="100%" height="100%" firstView="views.HistoryView"/>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
Doh!はい、それを反映して上記のコードを編集しました。まだ動かない。トレースのいずれも実行されていません。 – David