HI can any one tell me what is wrong with this code.
I wrote a custom event and dispatched this event from my entity class and am
listening for this event on main application but the listener is not listening
for event. Please help me.
here is my Event class
public class MyEvent extends Event
{
public static var MY_EVENT:String = "MY_EVENT" ;
public function MyEvent()
{
super ( MY_EVENT );
}
}
This class dispatches an event of type MyEvent from setter method
public class MyObject extends EventDispatcher
{
[Bindable(event="MyEvent")]
private var _name:String;
public function set name( _pname:String ):void
{
_name = _pname ;
trace( "Dispatching Event" );
dispatchEvent( new MyEvent() );
}
}
and here is code for my main application .
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical"
creationComplete="{init()}" >
<mx:Script>
<![CDATA[
import com.MyEvent;
import com.MyObject;
private var obj:MyObject ;
public function init():void
{
obj = new MyObject();
this.addEventListener(MyEvent.MY_EVENT , propertyChangeListener
) ;
}
public function propertyChangeListener( evt:MyEvent ):void
{
// This Function never gets called
trace( 'Listining for MyEvent......' );
}
public function btnClickHandler():void
{
obj.name = 'Changing Value' ;
trace( obj.name );
}
]]>
</mx:Script>
<mx:Button click="{btnClickHandler()}"/>
</mx:Application>