2009-02-25 2 views
4

프로그래밍 방식으로 경고를 제거해야합니다.FLEX : 프로그래밍 방식으로 경고를 제거 하시겠습니까?

이유 : 내 응용 프로그램은 BrowserManager를 사용하여 URL의 #hash 부분에있는 콘텐츠를 기반으로 딥 링크를 허용합니다. 현재 경고가 발생하고 사용자가 뒤로 버튼을 누르면 응용 프로그램이 이전 상태로 되돌아갑니다. 그러나 Alert는 계속 유지 될 것이며, 많은 경우 그 시점에서 관련성이 없습니다.

프로그래밍 방식으로 경고를 제거하는 방법이 있습니까? 해시 조각이 변경되면 제거 할 수 있습니다.

감사합니다.

+0

아니, 나는 –

답변

9

Alert.show 함수는 경고 참조를 반환 한 다음 PopUpManager를 사용하여 표시 목록에 추가합니다. 따라서 Alert.show으로 전화 할 때 반송 참조를 캡처하면 PopUpManager에이를 제거하도록 지시 할 수 있습니다. :)

0

나는 그것이 가능하지 않다고 생각합니다.

서브 클래스 TitleWindow을 서브 클래 싱 한 다음 PopupManager을 사용하여 표시하거나 숨길 수 있습니다.

+0

실제로이 가능 mx.controls.Alert의 Alert 클래스 ... 내가 아래에 대한 답변과 이미 그것을 테스트하고 작동 how..I 설명 의미한다. 감사. –

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; 
    } 
}