Solved

issue with viewstack

Posted on 2009-05-18
7
311 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
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Add 'birds singing' to homepage 5 108
video live streaming 1 122
Virus or Outlook 2007 problem, how to tell? 8 82
You Tube Videos not playing 9 123
Here are some practices and techniques that can be adopted into your Flash/Flex application development process. Note: Not all "performance tips" provide an immediately-recognizable benefit.   This article does not include timing validation data,…
I have been doing hardcore actionscripting for some time; and needless to say I have faced a lot of problems in just understanding others' code rather than understanding what the code executes. A programmer's life can become hell when there are a lo…
The goal of the tutorial is to teach the user how to live broadcast using Flash Media Live Encoder and connecting it to YouTube to broadcast. Log into your Youtube account, choose live stream settings, start live stream from Flash Media Live Enc…
The goal of the tutorial is to teach the user how to select which audio input to use. Once you have an audio input plugged into the laptop or computer, you will go into the audio input settings and choose which audio input you want to use.

785 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