2010-11-23 10 views
0

in einem meine Formen hinzuzufügen, habe ich den folgenden Code für das Hinzufügen von Mate-HörerWie Mate-Hörer mit Action Script

<mate:Listener type="{DBEvent.Update_Result}" receive="{onUpdateResults(event)}"/> 

ich diese Form bin Anzeige als Popup verwendet. Zum ersten Mal wird die onUpdateResults-Methode nur einmal wie erwartet ausgeführt. Dann schließe ich das Popup und öffne es erneut. Dieses Mal OnUpdateResults-Methode zweimal aufgerufen, dann nächste 4Zeit und so weiter ...

Nach so viel googeln, fand ich, dass Mate-Listener noch aktiv sind, obwohl wir das Popup entfernen/schließen. Ich habe versucht, schwache Referenzen, schließen Sie das Popup mit PopupManager.RemovePopup und so weiter. Nichts hat geklappt.

Dann dachte ich über die manuelle Registrierung und Aufhebung der Registrierung der Mate Listener mit Aktionsskript. Also habe ich versucht, den folgenden Code

var _listener:Listener= new Listener(); 

_listener.addEventListener(DBEvent.Update_Result,onUpdateResults); 

abzumelden ...

_listener.removeEventListener(DBEvent.Update_Result,onUpdateResults); 

Aber das ist auch nicht funktioniert.

Bitte jemand helfen Sie mir dieses Problem zu beheben.

Antwort

0

Versuchen Sie dies.

Windows-Runtime-Popup erstellen in Hauptanwendung:

PopUpManager.createPopUp(this, MyPopUp, true); 

MyPopUp - mx: Titlewindow von MyPopUp.mxml Fügen Sie alle Zuhörer in OnInit in MyPopUp.mxml:

_listener.addEventListener(DBEvent.Update_Result, onUpdateResults); 

Pop-up schließen, wenn Sie Klicken Sie auf eine beliebige Schaltfläche (Klickereignis der Schaltfläche oder andere):

PopUpManager.removePopUp(this); 
+0

Ich habe bereits versucht, thi s. Aber ich kann es nicht bekommen. – Dinesh