在我的一种形式中,我使用了以下代码来添加 Mate Listeners
<mate:Listener type="{DBEvent.Update_Result}" receive="{onUpdateResults(event)}"/>
我将此表单显示为弹出窗口。发生的事情是,第一次,onUpdateResults 方法只按预期执行了一次。然后我关闭弹出窗口并重新打开它。这次 onUpdateResults 方法调用了两次,然后是下一次 4time 等等......
经过这么多的谷歌搜索,我发现 Mate Listeners 仍然处于活动状态,即使我们删除/关闭了弹出窗口。我尝试了弱引用,使用 PopupManager.RemovePopup 关闭弹出窗口等等。没有任何效果。
然后我想到了使用动作脚本手动注册和注销伙伴监听器。所以,我尝试了以下代码
var _listener:Listener= new Listener();
_listener.addEventListener(DBEvent.Update_Result,onUpdateResults);
注销...
_listener.removeEventListener(DBEvent.Update_Result,onUpdateResults);
但这也行不通。
请有人帮我解决这个问题。