FLEX: eliminar mediante programación de alerta?
-
06-09-2019 - |
Pregunta
Necesito quitar mediante programación una alerta.
Esta es la razón: Mi aplicación utiliza BrowserManager para permitir la vinculación profunda con sede fuera parte del contenido de la parte #hash de la URL. Si una alerta es actualmente, y el usuario pulsa el botón de retroceso, la aplicación volverá a su estado anterior. Sin embargo, la alerta seguirá siendo, y en muchos casos irrelevantes en ese punto.
Entonces, ¿hay una manera de eliminar la programación de alerta? por lo que cuando los cambios de fragmentos de hash puedo quitarlo.
Gracias!
Solución
Resulta que la función Alert.show devuelve una referencia de Alerta y luego simplemente utiliza PopUpManager para añadirlo a la lista de visualización. por lo que si se captura la referencia de devolución cuando se llama Alert.show se puede decir PopUpManager para eliminarlo. :)
Otros consejos
Puede hacerlo manteniendo el objeto Alert
como datos de miembros y, a continuación, estableciendo su propiedad visible
a falso cuando haya terminado con él. La próxima vez que usted necesita para mostrar una alerta, no crear uno nuevo - agarrar la que ya ha creado y establecer sus propiedades, a continuación, establecer visible
en 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;
}
}
No creo que esto es posible.
Usted puede crear su propia TitleWindow
componente de alerta de subclases y luego usar PopupManager
para mostrar / ocultar ellos.