2017-11-03 4 views
1

ich ein oder auf diese Weise mehr Event-Listener einrichten können:Wie alle imageDisplayEvent Zuhörer entfernen

number roiListener1=imgDsp.ImageDisplayAddEventListener("roi_changed:ROI_Changed1") 
number roiListener2=imgDsp.ImageDisplayAddEventListener("roi_changed:ROI_Changed2") 

, sie zu entfernen, würde ich dies tun:

imgDsp.ImageDisplayRemoveEventListener(roiListener1) 
imgDsp.ImageDisplayRemoveEventListener(roiListener2) 

Gibt es eine Möglichkeit zu entfernen alle vorhandenen Listener an ein imageDisplay angehängt, ohne dem Listener Variablennamen zu geben? Danke,

Antwort

0

Gute Frage, aber nein, gibt es nicht.

Ausgenommen, natürlich, wenn das imageDisplay selbst zerstört wird, werden die verknüpften Listenenes automatisch entfernt, es sei denn, sie werden aufgrund eines anderen Elements im Speicher gehalten (wie ein Member-Variable-Bild, das angezeigt wird, ein anderer Listener) etc.)

Der einfachste Weg, um mit Listenern "umzugehen", ist, die IDs in einer TagList zu verwalten, dann kann man einfach über alle Einträge iterieren.

+0

Dank BmyGuest. Sehr guter Rat. Es löst das lästige lang anhaltende Hörerproblem. – user6406828

+0

@ user6406828 Ich bin froh, dass ich helfen konnte. Wenn der Beitrag Ihre Frage "beantwortet", seien Sie bitte so nett und "akzeptieren" Sie, indem Sie auf den Haken auf der linken Seite klicken. Dies markiert die Frage "gelöst" in der Datenbank. – BmyGuest