2009-02-25 4 views
4

アラートをプログラムで削除する必要があります。FLEX:プログラムでアラートを削除しますか?

理由: 私のアプリケーションはBrowserManagerを使用して、URLの#hash部分の内容に基づいてディープリンクを有効にします。アラートが現在起動していて、ユーザーが戻るボタンを押すと、アプリケーションは元の状態に戻ります。しかし、アラートは依然として起きており、多くの場合、その時点で無関係です。

したがって、プログラムによってアラートを削除する方法はありますか?だから、ハッシュの断片が変わったら、それを削除することができます。

ありがとうございます!

+0

いいえ、私は実際にそれが可能であるmx.controls.Alert –

答えて

9

Alert.show関数はAlertリファレンスを返し、PopUpManagerを使用してそれを表示リストに追加するだけです。 Alert.showに電話をしたときにリターンレファレンスを取得すると、それを削除するようにPopUpManagerに指示することができます。 :)

0

私はそれが可能ではないと思います。

TitleWindowサブクラス化して独自の警告コンポーネントを作成し、PopupManagerを使用して表示/非表示にすることができます。

+0

Alertクラスを意味...私は以下のことに答えてhow..Iはすでにそれをテストし、それが動作説明しました。ありがとう。 –

4

これを行うには、Alertオブジェクトをメンバーデータとして保持し、終了時にvisibleプロパティをfalseに設定します。次にアラートを表示する必要がある場合は、新しいアラートを作成しないでください。すでに作成したアラートを取得してプロパティを設定してから、visibleを再度trueに設定してください。

private var myAlert : Alert; 

public void showAlert(message: String, title : String) : void 
{ 
    hideAlert(); 

    myAlert = Alert.show(message, title, Alert.OK | Alert.NONMODAL); 
} 

public void hideAlert() : void 
{ 
    if(myAlert != null && myAlert.visible) { 
     myAlert.visible = false; 
    } 
} 
関連する問題