Solved

issue with viewstack

Posted on 2009-05-18
7
313 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Technology Partners: 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

Technology Partners: 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!

Question has a verified solution.

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

Suggested Solutions

Introduction This article is primarily concerned with ActionScript 3 and generally specific to AVM2.  Most suggestions would apply to ActionScript 2 as well, and I've noted those tips that differ between AS2 and AS3. With the advent of ActionS…
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 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.
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.

733 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