Flex回调函数应用示例
作者:
回调函数就是一个通过函数指针调用的函数,回调函数不是由该函数的实现方法直接调用,而是在特定的事件或条件发生时由另一个方法调用的,用于对该事件或条件进行相应
回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用为调用它所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方法直接调用,而是在特定的事件或条件发生时由另一个方法调用的,用于对该事件或条件进行相应。
下面还是通过代码的方式,自己实现一个回调函数的应用。
FlexCallBack.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
<fx:Script>
<![CDATA[
import flash.external.ExternalInterface;
import flash.system.Security;
import mx.controls.Alert;
import mx.events.FlexEvent;
public var callBackInfo:String = "";
public function doSend():void{
var call:FlexApp = new FlexApp("Hello",callBack);
}
public function callBack(info):void{
Alert.show(info);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Panel width="100%" height="100%">
<s:Button label="Send" click="doSend()">
</s:Button>
</s:Panel>
</s:Application>
自己定义的FlexApp类
package
{
public class FlexApp
{
public function FlexApp(param:String,func:Function)
{
func.call(null,"收到");
}
}
}
下面还是通过代码的方式,自己实现一个回调函数的应用。
FlexCallBack.mxml
复制代码 代码如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%">
<fx:Script>
<![CDATA[
import flash.external.ExternalInterface;
import flash.system.Security;
import mx.controls.Alert;
import mx.events.FlexEvent;
public var callBackInfo:String = "";
public function doSend():void{
var call:FlexApp = new FlexApp("Hello",callBack);
}
public function callBack(info):void{
Alert.show(info);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Panel width="100%" height="100%">
<s:Button label="Send" click="doSend()">
</s:Button>
</s:Panel>
</s:Application>
自己定义的FlexApp类
复制代码 代码如下:
package
{
public class FlexApp
{
public function FlexApp(param:String,func:Function)
{
func.call(null,"收到");
}
}
}