Veltar
Veltar

Reputation: 741

Custom Event not working

I have created a Custom Event, that is fired from a custom component. It should be catched in the main application to change the selectedindex of the viewstack. But this doesn't work, and I can't figure out why.

This is my Custom Event:

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;
        }
    }
}

This is how I fire the event:

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

And this is my function to catch the event:

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

Upvotes: 0

Views: 186

Answers (1)

weltraumpirat
weltraumpirat

Reputation: 22604

In order for your handler to be called when the event is dispatched, you need to add an event listener to your custom component.

myCustomComponent.addEventListener ( ChangeSelectedIndex.index_passed, changeSelectedIndexHandler);

Make sure this line is within the same scope as both your handler function and myCustomComponent, otherwise there will be an error.

Upvotes: 4

Related Questions