我需要以编程方式删除警报。
这就是为什么: 我的应用程序使用BrowserManager根据网址的#hash部分中的内容启用深层链接。如果当前警报已启动,并且用户点击后退按钮,则应用程序将恢复到之前的状态。但警报仍然会上升,在许多情况下,此时无关紧要。
那么有没有办法以编程方式删除警报?所以当哈希片段改变时我可以删除它。
谢谢!
答案 0 :(得分:9)
事实证明,Alert.show函数返回一个Alert引用,然后只使用PopUpManager将其添加到显示列表中。因此,如果在调用 Alert.show 时捕获返回引用,则可以告诉PopUpManager将其删除。 :)
答案 1 :(得分: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;
}
}
答案 2 :(得分:0)
我认为不可能。
您可以创建自己的警报组件子类TitleWindow
,然后使用PopupManager
来显示/隐藏它们。