我的应用程序中有一个计时器。每30分钟,它将点击Web服务并获取数据并更新UI。申请工作正常,直到昨天。突然间,由于某些问题,Web服务暂时无法使用。在此期间,应用程序在警报窗口中多次显示RPC错误(超过100个警报框)。由于这个警告框,我的应用程序被绞死,我无法做任何事情。
我尝试了几种方法,但没有任何效果。最后,我试图使用一个标志。在所有方法中,这看起来很有希望。所以我已经实现了它。基本上,在这种方法中,每当我们打开警报时,我们都会设置一个标志。当打开和关闭警报时,我们将重置此标志。但它没有按预期工作。是否有任何方法可以帮助我们避免多个警报窗口。
请帮我解决这个问题。
答案 0 :(得分:2)
我会编写打开警报的包装器,并且只使用这个包装器,而不是代码中的Alert.show:
public class AlertWrapper {
private static var lastAlert:Alert;
public static function showAlert(text:String, title:String):void {
if (lastAlert) {
PopUpManager.removePopUp(lastAlert);
//or
//return; //ignore last alert
}
lastAlert = Alert.show(text, title, null, 4, onAlertClose);
}
private static function onAlertClose(event:CloseEvent):void {
lastAlert = null;
}
}
缺少进口,但我希望这个想法很明确。