Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

issue with viewstack

Posted on 2009-05-18
7
Medium Priority
?
320 Views
Last Modified: 2013-11-11
Hi experts,

i have viewstack., i wan to perform something when view is changed,  because the view is not instantiated at the time i click the button  i have to listen for the creation complete event but still i am getting error

TypeError: Error #2007: Parameter listener must be non-null.
at flash.events::EventDispatcher/addEventListener()



//code- part of function called on button click to change the view
		
	viestack.selectedChild = view2;
	viestack.addEventListner(IndexChangedEvent.CHANGE, vchange);
	
                     function vchange():void{
	view2.addEventListner(FlexEvent.CREATION_COMPLETE, startn);
	viestack.removeEventListner(IndexChangedEvent.CHANGE, vchange);
	}
	function startn():void{
	trace("inst view stack here")
	view2.removeEventListner(FlexEvent.CREATION_COMPLETE, startn);
	}

Open in new window

0
Comment
Question by:rakesh16d
  • 4
  • 3
7 Comments
 
LVL 19

Expert Comment

by:Jones911
ID: 24417877
function startn(changeEvent:FlexEvent):void{

Try that
0
 

Author Comment

by:rakesh16d
ID: 24418129
thanks for reply.. i have tried startn(changeEvent:FlexEvent):void
also, vchange(event:IndexChangedEvent)

i tried debugging but its not getting into the function vchange(),  that is the place where it is breaking.


0
 
LVL 19

Expert Comment

by:Jones911
ID: 24418167
This this event is never occuring: IndexChangedEvent.CHANGE
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:rakesh16d
ID: 24418170
more code..
function changeviewnoe():void{
 switch(e.cuttenttarget.id){
 case"button2":
      viestack.selectedChild = view2;
      viestack.addEventListner(IndexChangedEvent.CHANGE, vchange);
      
      function vchange():void{
	view2.addEventListner(FlexEvent.CREATION_COMPLETE, startn);
	viestack.removeEventListner(IndexChangedEvent.CHANGE, change);
      }
      function startn():void{
         trace("inst view stack here")
	view2.removeEventListner(FlexEvent.CREATION_COMPLETE, startn);
      }
 
}
}

Open in new window

0
 

Accepted Solution

by:
rakesh16d earned 0 total points
ID: 24436283
solved myself
0
 
LVL 19

Expert Comment

by:Jones911
ID: 24436453
How?  You shoudl post the solution and give yourself the points.
0
 

Author Comment

by:rakesh16d
ID: 24441659
i was suppose to dispatch custom event on creation on that view. so on creation complete of that view i added the code for dispatching event, which happens only for the first time when view is created.. after that since view is there, no null reference error will come so i had a code to dispatch the same event when user select the same view again,, which happens in switch statement. there should be some efficient way to do it but for now it works for me :)
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I come across a lot of question about how to access things in the document class from a movieclip, or accessing something from a movieclip in the document class. It took me a while to figure this out but once I did it makes life so much easier. …
This article describes a solution to a problem of subloading one movie into another when they have different SWF versions. Sometime back, I was working on an ActionScript project while I came across an interesting fact which I would like to share…
In this tutorial viewers will learn how to create a basic motion tween animation in Flash Open a new document in Flash: Draw/import an image: Press CTRL + F8 to convert it into a graphic symbol: Select a frame (how long you want the tween to last): …
The goal of the tutorial is to teach the user how to select the video input device. Make sure you have an input device that in connected and work and recognized by Adobe Flash Media Live Encoder and select it in the “video input” menu.
Suggested Courses

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question