Domanda

Ho bisogno di rimuovere un avviso di programmazione.

Questo è il motivo per cui: La mia applicazione utilizza BrowserManager per consentire deep linking in base al largo del contenuto nella parte #hash dell'URL. Se un avviso è attualmente, e l'utente preme il pulsante Indietro, l'applicazione tornerà al suo stato precedente. Ma l'avviso sarà ancora alto, e in molti casi irrilevante in quel punto.

Quindi non v'è un modo per rimuovere la programmazione Alert? così quando cambia il frammento hash posso toglierlo.

Grazie!

È stato utile?

Soluzione

Si scopre la funzione Alert.show restituisce un riferimento di avviso e quindi utilizza solo PopUpManager per aggiungerlo all'elenco di visualizzazione. quindi se si cattura il riferimento di ritorno quando si chiama Alert.show si può dire PopUpManager per rimuoverlo. :)

Altri suggerimenti

È possibile farlo mantenendo l'oggetto Alert come dati membro, e quindi impostando la proprietà visible su false quando hai finito con esso. La prossima volta che è necessario mostrare un avviso, non creare uno nuovo - afferrare quello che hai già creato e impostare le sue proprietà, quindi impostare a true visible nuovo

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

Non credo che sia possibile.

È possibile creare il proprio TitleWindow componente Alert sottoclassi e quindi utilizzare PopupManager per mostrare / nascondere loro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top