2009-02-25 12 views
4

Bir uyarıyı programsal olarak kaldırmam gerekiyor.FLEX: Programsal olarak Uyarısı kaldırılsın mı?

Bu neden: Uygulamam, URL'nin #hash bölümündeki içeriğe dayalı olarak derin bağlantıyı etkinleştirmek için BrowserManager'ı kullanır. Bir uyarı şu anda açıksa ve kullanıcı geri düğmesine basarsa, uygulama önceki durumuna geri döner. Ancak, Uyarı hala devam edecek ve çoğu durumda bu noktada ilgisiz olacak.

Bu nedenle, Alert programını programsal olarak kaldırmanın bir yolu var mı? Bu yüzden karma parça değiştiğinde onu kaldırabilirim.

Teşekkürler!

+0

Hayır, –

cevap

9

Alert.show işlevi bir Uyarı başvurusu döndürdüğü ve ekran listesine eklemek için PopUpManager'ı kullandığı ortaya çıkıyor. Bu nedenle, Alert.show'u çağırdığınızda iade referansını yakalarsanız, PopUpManager'a bunu kaldırmasını söyleyebilirsin. :)

0

Bunun mümkün olduğunu düşünmüyorum.

TitleWindow alt sınıflarında kendi uyarı bileşeninizi oluşturabilir ve daha sonra bunları göstermek/gizlemek için PopupManager kullanabilirsiniz.

+0

Aslında bu mümkün mx.controls.Alert Uyarısı sınıf ... Ben aşağıya yanıtladı ve zaten bunu kontrol test edilmiş ve çalışır how..I açıkladı demek. Teşekkürler. –

4

Bunu, Alert nesnesini üye verileri olarak tutarak ve visible özelliğini tamamladığınızda false değerine ayarlayarak yapabilirsiniz. Bir dahaki sefere bir Uyarı göstermeniz, yeni bir tane oluşturma - daha önce yarattığınız ürünü yakala ve özelliklerini ayarla, sonra visible'u tekrar true olarak ayarla.

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; 
    } 
} 
İlgili konular