我正在使用 Adobe Air(AS 文档类)开发一个 android 应用程序,并且我有一个函数,它从 SqlLite 数据库获取一个 SQLLite ResultSetb 作为字符串数组,遍历列表,为每次迭代创建一个 TextField,并且将它们附加到舞台上。
当用户点击特定的 TextField 时,我希望将其从数据库中删除。为了捕获事件,我在每个 TextField 上实现了 TouchEvent 侦听器,但我不知道如何识别从事件侦听器中点击了哪个 TextField。
我的代码是:
function displayNumbers(allNumbers:Array){
var y:int=20;
var telNo:String;
for(var i:int=0; i<allNumbers.length; i++){
telNo = allNumbers[i];
var myText:TextField = new TextField();
myText.text="text"+i;
myText.addEventListener( TouchEvent.TOUCH_TAP,doDelNo);
myText.x= 20;
myText.y=y;
stage.addChild(myText);
y+=25;
}
}
现在 doDelNo EventListener 代码如下:
function doDelNo(e:MouseEvent):void{
var telNo:String = myText.text; //This is where the problem is
delNo(telNo);
}
问题出在函数“doDelNo”的第 2 行,因为我似乎无法获得被点击的 TextField 实例。ActionScript 甚至在第 2 行抛出错误 - “访问未定义的属性 myText”。
如果有人能帮助我指出正确的方向,我将不胜感激。