Пользовательское событие не работает - PullRequest
0 голосов
/ 09 декабря 2011

Я создал пользовательское событие, которое запускается из пользовательского компонента.Должно быть поймано в основном приложении, чтобы изменить выбранный индекс стека просмотра.Но это не работает, и я не могу понять, почему.

Это мое пользовательское событие:

package events
{
    import flash.events.Event;

    public class ChangeSelectedIndex extends Event
    {
        public static var index_passed:String = "Index passed";
        private var index:int;

        public function ChangeSelectedIndex(i:int, type:String, bubbles:Boolean=false, cancelable:Boolean=false)
        {
            super(type,bubbles, cancelable);
            index = i;
        }

        public function get getIndex():int
        {
            return index;
        }
    }
}

Вот как я запускаю событие:

protected function checkUsernameExistsDbSucces(event:ResultEvent):void
{
     dispatchEvent( new ChangeSelectedIndex(1,ChangeSelectedIndex.index_passed,false,false));
}

А вот моя функция перехватить событие:

private function changeSelectedIndexHandler(event:ChangeSelectedIndex):void
{
     mainViewStack.selectedIndex = event.getIndex;
}

1 Ответ

4 голосов
/ 09 декабря 2011

Чтобы ваш обработчик вызывался при отправке события, вам нужно добавить прослушиватель событий в ваш пользовательский компонент.

myCustomComponent.addEventListener ( ChangeSelectedIndex.index_passed, changeSelectedIndexHandler);

Убедитесь, что эта строка находится в той же области видимости, что и ваша функция-обработчик, и myCustomComponent, в противном случае возникнет ошибка.

...