Actionscript 3 如何在AdobeAIR中获取文本输入

Actionscript 3 如何在AdobeAIR中获取文本输入,actionscript-3,air,Actionscript 3,Air,我是Adobe AIR的新手,以下是我正在做的事情(请注意,我是通过AS3代码来做这件事的: 将VGroup添加到画布控件 var vIncomeHeader:VGroup = new VGroup(); vIncomeHeader.width = 1326; vIncomeHeader.height = 29; vIncomeHeader.id = "vIncomeHeader"; canvasIncome.ad

我是Adobe AIR的新手,以下是我正在做的事情(请注意,我是通过AS3代码来做这件事的:

  • 将VGroup添加到画布控件

            var vIncomeHeader:VGroup = new VGroup();
            vIncomeHeader.width = 1326;
            vIncomeHeader.height = 29;
            vIncomeHeader.id = "vIncomeHeader";
    
            canvasIncome.addChild(vIncomeHeader);
    
  • 创建HGroup并将其添加到步骤1中创建的VGroup

  • 创建5个文本输入并将其添加到HGroup。第一个文本框可编辑,其余文本框不可编辑

            var hfIncomeHeader:HGroup = new HGroup();
            var txt:TextInput = new TextInput();
    
            vIncomeHeader.addElement(hfIncomeHeader);
    
            var lp:int =0;
            var lp-inner:int =0;
    
            for (lp=0; lp<10; lp++)
            {
    
            hfIncomeHeader = new HGroup();                          
            hfIncomeHeader.width = 1326;
            hfIncomeHeader.height = 29;
    
    
            //Amount
    
            txt = new TextInput();                          
            txt.id = "txtAmount_" + lp;                         
            txt.width = 120;                            
            txt.height = 22;                            
            txt.restrict = "0-9.\\";                            
            txt.addEventListener(Event.CHANGE, txtChangeIncomeAmount);
            hfIncomeHeader.addElement(txt);
    
    
    
            for (lp-inner=0; lp-inner<4; lp-inner++)
            {    
    
            //Income Type
            txt = new TextInput();
            txt.id = "txt_" + lp + "_" + lp-inner;
            txt.width = 120;
            txt.height = 22;                            
            hfIncomeHeader.addElement(txt);
            }                           
    
            }
    
    
            //txtChangeIncomeAmount
            protected function txtChangeIncomeAmount(event:Object):void
            {
    
                    // HOW TO Do IT
    
            }
    
    var-hfIncomeHeader:HGroup=newhgroup();
    var txt:TextInput=new TextInput();
    vIncomeHeader.addElement(hfIncomeHeader);
    var-lp:int=0;
    内部变量lp:int=0;
    
    对于(lp=0;lp,您可以为TextInput设置名称,然后按名称获取它们。类似于:

    ...
    txt.name = "txt_" + lp-inner;
    ...
    protected function txtChangeIncomeAmount(event:Event):void
    {
        var txt:TextInput;
    
        for (var i:uint = 0; i < 4; i++)
        {
            txt = hfIncomeHeader.getChildByName("txt_" + i) as TextInput;
            txt.text = (event.currentTarget as TextInput).text;
        }
    }
    
    。。。
    txt.name=“txt_389;”+lp内部;
    ...
    受保护函数txtChangeIncomeAmount(事件:事件):无效
    {
    var-txt:TextInput;
    对于(变量i:uint=0;i<4;i++)
    {
    txt=hfIncomeHeader.getChildByName(“txt_”+i)作为文本输入;
    txt.text=(event.currentTarget作为TextInput).text;
    }
    }