Yeah that is what I thought. my onInit is called in my constructor with:
addEventListener( FlexEvent.CREATION_COMPLETE, onInit ); The requests for data are usually called after other adding of the events, but within the same function (onInit). I think I will just ad my addEventListener calls direct in my constructor and see what happens there. dnk On 25-May-08, at 2:08 PM, Alex Harui wrote: > Timers are normally not necessary. You need to have a clear > understanding of the application lifecycle and its events. I don't > know > when your onInit is getting called, but if it is after a request for > data has been sent, that's too late, you need to do it before the > request. > > -----Original Message----- > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] > On > Behalf Of dnk > Sent: Sunday, May 25, 2008 11:40 AM > To: flexcoders@yahoogroups.com > Subject: Re: [flexcoders] custom event not added - almost solved. > > Ok, I might be onto something here.... I added trace statements in all > handlers and contructors, etc.... > > And the order my traces come back are: > > Controller > getNewsData > onInit > > The order my traces SHOULD come back are: > > Controller > onInit > getNewsData > > Since my event listeners are setup in my onInit, and if they are being > added after my initial dispatchEvent is sent... well obviously they > will not be called..... > > So as a test I changed my onInt from: > > private function onInit( event:Event ):void > { > //setup event listeners > /*systemManager is where event listener hangs > out defines the > relationship between event and handler*/ > > systemManager.addEventListener( > GetNewsEvent.GET_NEWS_EVENT, > handler_GetNewsEvent ); > systemManager.addEventListener( > AddNewsEvent.ADD_NEWS_EVENT, > handler_AddNewsEvent ); > > systemManager.addEventListener( NewsDataLoadedEvent.NEWS_LOADED_EVENT, > handler_NewsLoadedEvent ); > getNewsData(); > > trace("onInit"); > > } > > To: > > private function onInit( event:Event ):void > { > //setup event listeners > /*systemManager is where event listener hangs > out defines the > relationship between event and handler*/ > > systemManager.addEventListener( > GetNewsEvent.GET_NEWS_EVENT, > handler_GetNewsEvent ); > systemManager.addEventListener( > AddNewsEvent.ADD_NEWS_EVENT, > handler_AddNewsEvent ); > > systemManager.addEventListener( NewsDataLoadedEvent.NEWS_LOADED_EVENT, > handler_NewsLoadedEvent ); > //getNewsData(); > //dispatchEvent(new > GetNewsEvent(GetNewsEvent.GET_NEWS_EVENT)); > > // Set a timer since the below function does not > seem to get fired. > var myTimer:Timer = new Timer(1, 1); > myTimer.addEventListener("timer", getNewsData); > myTimer.start(); > > trace("onInit"); > > } > > So I essentially setup a timer object to fire once like a second > later, and it works. > > So now this does in fact work as expected, but the method does not > seem "proper" to me. > > How would others get around this? Just do it the way I did? Or is > there a more "proper" and "elegant" solution for this? > > DNK > > On 24-May-08, at 9:09 PM, Alex Harui wrote: > > > > > Who's dispatching and how? > > > > > > > > When does the control get instantiated? Could it be after > > creationComplete? > > > > > > > > If the controller is not a UIComponent, it will not get a > > creationComplete. > > > > > > > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] > > On Behalf Of dnk > > Sent: Friday, May 23, 2008 4:48 AM > > To: flexcoders@yahoogroups.com > > Subject: [flexcoders] custom event not added > > > > > > > > Hi there, > > > > I have a controller that is adding my custom event listeners, but > for > > some reason my event handler was not being fired. > > > > My original code was (snippet): > > > > (in controler) > > > > //constructor > > public function FlexbController() > > { > > //turn the key, start it up.... > > addEventListener( FlexEvent.CREATION_COMPLETE, onInit ); > > } > > > > private function onInit( event:Event ):void > > { > > //setup event listeners > > /*systemManager is where event listener hangs out defines the > > relationship between event and handler*/ > > > > systemManager.addEventListener( GetNewsEvent.GET_NEWS_EVENT, > > handler_GetNewsEvent ); > > systemManager.addEventListener( AddNewsEvent.ADD_NEWS_EVENT, > > handler_AddNewsEvent ); > > > > > systemManager.addEventListener( NewsDataLoadedEvent.NEWS_LOADED_EVENT, > > handler_NewsLoadedEvent ); > > getNewsData(); > > > > } > > > > And I had trace statements in all of my handlers... this is how i > > noticed things were not working as they should. > > > > SO I added a simple check like (in my FlexbController constructor): > > > > if (systemManager.addEventListener( GetNewsEvent.GET_NEWS_EVENT, > > handler_GetNewsEvent )) > > { > > trace("true"); > > } else { > > trace("false"); > > } > > > > And I obviously am getting "false". > > > > Ideas? > > > > dnk > > > > > > > > > > ------------------------------------ > > -- > Flexcoders Mailing List > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > Search Archives: > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups > Links > > > ------------------------------------ -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/