2011-09-12 18 views
0

私のFlex 4.5アプリケーションでは、PopUpManagerによってポップアップされるTitleWindow Settings.mxmlがあります。アプリケーションのメソッド呼び出しを呼び出す

ユーザーがいくつかの設定を変更した後は、それらをSharedObjectに保存するだけでなく、メインアプリケーション自体にも適用する必要があるため、変更がすぐにユーザーに表示されます。

たとえば、そのメソッドを呼び出す必要があります。hideApp(somevalue);

spark.components.Applicationには、それを取得するためのスタティック/シングルトンの方法はありません。

だからあなたはどのようにしていますか?

また、MXMLファイルで1つまたは複数のインターフェイスが実装されていることを宣言することもできます。

package { 
    public interface Hiddable { 
    function hideApp(value:Number):void; 
    } 
} 

メインアプリケーション以外にも、私は「ユニットテスト」という特定の機能のための私のプロジェクトでSettingsTest.mxmlアプリケーションを持っているので、私は、このことを求めています。

ありがとうございました!アレックス

答えて

1

the following documentationを参照してください。

var myWindow:MyWindow = MyWindow(PopUpManager.createPopUp(this, MyWindow)); 
myWindow.addEventListener(MyWindowEvent.SUBMIT, myWindowSubmit); 

private function myWindow(event:MyWindowEvent):void 
{ 
    // Unsubscribing from events 
    var myWindow:MyWindow = MyWindow(event.currentTarget); 
    myWindow.removeEventListener(MyWindowEvent.SUBMIT, myWindowSubmit); 
    // Changed data is passing with custom event object 
    someData = event.someData; 
} 

そして、あなたが(そのためにカスタムイベントを実装する必要があります。通過は、私はあなたが以下のようにフラッシュ・イベントモデルの何かをObserver patternを使用することをお勧めのアプリケーションにあなたのポップアップウィンドウから戻ってデータを変更するかについて

MyWindowEvent私の擬似コード)とあなたのTitleWindowコンポーネントから発射します。カスタムイベントin documentationの実装の詳細については、こちらをご覧ください。

3

はいそれはありません:

FlexGlobals.topLevelApplication 

私はあなたが密結合を避けるためにイベントを使用することをお勧めしますけれども。インタフェースについての質問については

:MXMLコンポーネントのインターフェイスの実装についての属性を使用しimplements

<s:Component ... implements="IClassA,IClassB" ... /> 
関連する問題