0

私は Adob​​e Air (AS Document クラス) を使用して 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 へのアクセス」というエラーをスローしています。

誰かが私を正しい方向に向けるのを手伝ってくれたら、とても感謝しています。

4

1 に答える 1

0
function doDelNo(e:MouseEvent):void{   
    var currTextField:TextField = e.currentTarget as TextField; //This is how you get the TextField which was clicked
    if (currTextField != null) {
        var telNo:String = currTextField .text; 
        delNo(telNo);
    }
}
于 2012-12-31T16:02:57.810 に答える