Как добавить Mate Listeners с помощью Action Script
В одной из моих форм я использовал следующий код для добавления Mate Listeners
<mate:Listener type="{DBEvent.Update_Result}" receive="{onUpdateResults(event)}"/>
Я отображаю эту форму как всплывающее окно. В первый раз метод onUpdateResults выполняется только один раз, как и ожидалось. Затем я закрываю всплывающее окно и снова открываю его. На этот раз метод onUpdateResults вызывается дважды, затем в следующий раз и так далее...
После стольких поисков я обнаружил, что Mate Listeners все еще активны, хотя мы удаляем / закрываем всплывающее окно. Я пробовал слабые ссылки, закрывал всплывающее окно, используя PopupManager.RemovePopup и так далее. Ничего не сработало.
Затем я подумал о том, чтобы зарегистрировать и отменить регистрацию слушателей помощников вручную, используя скрипт действия. Итак, я попробовал следующий код
var _listener:Listener= new Listener();
_listener.addEventListener(DBEvent.Update_Result,onUpdateResults);
отменить регистрацию...
_listener.removeEventListener(DBEvent.Update_Result,onUpdateResults);
Но это тоже не работает.
Пожалуйста, кто-нибудь, помогите мне решить эту проблему.
1 ответ
Попробуй это.
Создайте всплывающие окна во время выполнения в основном приложении:
PopUpManager.createPopUp(this, MyPopUp, true);
MyPopUp - mx: TitleWindow из MyPopUp.mxml Добавить любых слушателей в OnInit в MyPopUp.mxml:
_listener.addEventListener(DBEvent.Update_Result, onUpdateResults);
Закрыть всплывающее окно при нажатии любой кнопки (событие нажатия кнопки или любая):
PopUpManager.removePopUp(this);