Cerrar cuadro de Alerta sin objeto en Flex
Frecuentes
Visto 924 veces
1
Tengo una aplicación que consta de dos estados (estado1 y estado2). Inicialmente ventanas emergentes de estado 1 y luego ventanas emergentes de estado 2. En state2 hay números de operaciones que muestran alerta. Ahora, si hago clic en cerrar sesión, la ventana State2 se cierra y state1 aparece pero la alerta sigue apareciendo, ahora no tengo un objeto de alerta para eliminar usando PopUpmanger.removepopup().
1 Respuestas
1
Otra solución que puede hacer es enviar todas las alertas a una matriz si la alerta está abierta y si la alerta está cerrada, puede abrirla. Si la alerta está abierta al cerrar la sesión, puede obtener un objeto de alerta y luego puede eliminarlo usando PopUpManager.removePopUp() por bucle for.
//Global array for your application//
private var tempArray:Array = new Array();
//When you open first alert
var alert1:Alert = Alert.show("First Alert", "Alert");
tempArray.push(alert1);
//When you open second alert
var alert2:Alert = Alert.show("SecondAlert", "Alert");
tempArray.push(alert2);
//algo como esto.... no probado....
for(var i:int=tempArray.length-1;0< i;i--){
PopUpManager.removePopUp(tempArray[i]);
tempArray.pop();
}
// Debajo del código no probado o
PopUpManager.removeAllPopUps()
or
public function closeAllPopup():void
{
var systemManager:SystemManager = Application.application.systemManager
var childList:IChildList = systemManager.rawChildren
for (var i:int=childList.numChildren-1; i >=0; i– )
{
var childObject:* = childList.getChildAt(i)
if (childObject is UIComponent)
{
var uiComponent:UIComponent = childObject as UIComponent
if (uiComponent.isPopUp)
{
PopUpManager.removePopUp(uiComponent)
}
}
}
}
o marque el siguiente enlace: -
http://www.devahead.com/blog/2009/12/getting-all-the-popups-in-a-flex-application/
contestado el 22 de mayo de 12 a las 07:05
en la aplicación hay aproximadamente 1000 alertas, por lo que ni siquiera puedo pensar en hacerlo: Sushant
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas actionscript-3 apache-flex actionscript flex4 flex3 or haz tu propia pregunta.
Son estos
Alert
¿Se requieren llamadas para la operación o son con fines informativos/de depuración? Si es lo último, idealmente debería eliminarlos de la versión de lanzamiento. Además, cualquier ventana emergente de este tipo debería tratarse idealmente en el momento en que está saliendo.state2
y antes de que hayas vuelto astate1
. - dirkgentlystackoverflow.com/a/6980258/842112 - Santhosh Nayak
El siguiente código puede ayudarlo: --///////////// for(var i:int=0;i Mahesh Parate
systemManager.popUpChildren.numChildren devuelve 0 incluso alertas si hay una alerta - Sushant
dónde encontrar el objeto de alerta en systemManager.rawchildren - Sushant