flex 在事件中添加自己的参数的方法:
var parentItem:XML;
var service1:HTTPService=new HTTPService();
..................此处省略
service1.addEventListener(ResultEvent.RESULT, function (e:ResultEvent):void{onGetChildTables(e,parentItem)}); //这里item就是自己定义的参数,
....................此处省略
这样在ResultEvent函数中就可以使用传入的参数了。
private function onGetChildTables(evt:ResultEvent,parentItem:XML):void{
//添加Tree控件的子节点
var xml : XML = evt.result as XML;
var
itemList:XMLListCollection=new XMLListCollection(xml.Item);
if(itemList.length>0){
delete parentItem.children()[0];
//删除占位子节点
for each(var item : XML in itemList){
parentItem.appendChild(item); //添加实际的子节点
}
}
}
=============================================
监听在开发中使用的很多,但是addEventListener函数除了加事件类型和调用函数外,能不能加额外的参数呢?
其实是可以的,只要把所加的函数改为新定义的函数,在定义的函数中加入参数即可,示例:
private function handle(e:MouseEvent,str:String): void
{
Alert.show(str);
}
private
function methodWhereyouDostuffAndRegisterListener(): void
{
var helloStr:String = "hello
world!";
ABCButton.addEventListener(MouseEvent.CLICK,function
(e:MouseEvent):void {handle(e,helloStr);});
}