我需要以编程方式删除警报。FLEX:以编程方式删除警报?
这就是为什么: 我的应用程序使用BrowserManager根据url的#hash部分中的内容启用深度链接。如果警报当前处于启动状态,并且用户点击后退按钮,应用程序将恢复到之前的状态。但警报仍然会出现,并且在许多情况下,这一点无关紧要。
那么有没有办法以编程方式删除警报?所以当哈希片段发生变化时,我可以将其删除。
谢谢!
我需要以编程方式删除警报。FLEX:以编程方式删除警报?
这就是为什么: 我的应用程序使用BrowserManager根据url的#hash部分中的内容启用深度链接。如果警报当前处于启动状态,并且用户点击后退按钮,应用程序将恢复到之前的状态。但警报仍然会出现,并且在许多情况下,这一点无关紧要。
那么有没有办法以编程方式删除警报?所以当哈希片段发生变化时,我可以将其删除。
谢谢!
事实证明,Alert.show函数返回一个Alert引用,然后使用PopUpManager将其添加到显示列表中。所以如果您在致电Alert.show时捕获返回参考,则可以告诉PopUpManager将其删除。 :)
我不认为这是可能的。
您可以创建自己的警报组件子类TitleWindow
,然后使用PopupManager
来显示/隐藏它们。
其实这是可能的...我下面的回答,并解释how..I已经测试了它和它的作品。谢谢。 – 2009-02-26 15:49:19
您可以通过将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;
}
}
不,我的意思是提醒类mx.controls.Alert – 2009-02-25 21:16:19