Question

I need to loop through an array and for each element create a textfield. My problem is how to create a new identifier for each new TextInput

this is my code;

var count:Number = 0;
for (var i:String in columnsData)
{
var myTI:TextInput = new TextInput();
myTI.width = 70;
myTI.height = 25;
myTI.text = columnsData[i];
myTI.name = "myTI" + count;
addChild(myTI);
count++;    
   }

all this does however is overwrite the previously created TextInput field, any ideas?

Was it helpful?

Solution

Try this:

var count:uint = 0,
    textInputs:Array /* of TextInputs */ = [];
for(var i:String in columnsData){
    textInputs[count] = new TextInput();
    // Customize textInput[count] instead of myTI
    addChild(textInputs[count]);
    count++;
}

Outside of this loop, you should be able to look inside the textInputs array for references to each of your new TextInputs. Note that, inside the loop, you probably want to change the x/y coordinates for each TextInput so they don't overlap.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top