Pergunta

Eu preciso remover programaticamente um alerta.

Este é o porquê: Meu aplicativo usa BrowserManager para permitir Deep Linking baseado fora do conteúdo na parte #hash da url. Se um alerta é atualmente, e o usuário pressiona o botão de volta, o aplicativo vai voltar ao seu estado anterior. Mas o alerta ainda vai ser para cima, e em muitos casos irrelevantes nesse ponto.

Então, há uma maneira de remover programaticamente o alerta? por isso, quando o fragmento de hash muda posso removê-lo.

Obrigado!

Foi útil?

Solução

Acontece a função Alert.show retorna uma referência de Alerta e depois é só usa PopUpManager para adicioná-lo à lista de exibição. Então, se você capturar a referência de retorno quando você chamar Alert.show você pode dizer PopUpManager para removê-lo. :)

Outras dicas

Você pode fazer isso, mantendo o objeto Alert como dados membro, e, em seguida, definindo sua propriedade visible para false quando você está feito com ele. Da próxima vez que você precisa mostrar um alerta, não crie um novo -. Pegar o que você já criou e definir suas propriedades, então o conjunto de visible para true novamente

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

Eu não acho que é possível.

Você pode criar seu próprio alerta componente TitleWindow subclasses e, em seguida, usar PopupManager para exibir / ocultar-los.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top