我已经查明了如何做到这一点似乎没有任何效果。 试图在循环中使用i来引用我的所有文本字段并设置它们。 假设我的文本字段名为textField0,textField1,textfield2等。 类似的东西:
for(var i:int = 0; i < numberOfFields; i++)
{
parent.child.getChildByName("textField" + i).text = stringArray[i];
}
非常感谢任何帮助 感谢
答案 0 :(得分:0)
让我们假设您的层次结构看起来像这样
0: root:MainTimeline ¬
0: Background:Shape
1: textField1:TextField
2: textField2:TextField
3: myClip:MovieClip
4: textField3:TextField
我们在列表中有一些“噪音”,因此对所有这些进行直接迭代可能不是最好的方法。我们可以,并放置一个if语句来测试对象的名称或它的对象类型,或者我们可以创建一个指向每个TextFields的指针的手动列表。在这种情况下,每个文本字段都可以假设存在于任何嵌套容器中。这取决于你的设置。
在上面给出的示例中,您引用了一个名为“child”的对象,这意味着您的层次结构可能看起来像这样......
0: root:MainTimeline ¬
0: child:MovieClip ¬
0: textField1:TextField
1: textField2:TextField
2: textField3:TextField
1: myClip:MovieClip // <- assuming that this is the class your code is coming from
所以,你的逻辑是我们使用隐式this
引用(this.parent == parent
)上升到一个级别,然后下到我们名为child
的容器,并迭代它的孩子们(注意:我怀疑情况并非如此,部分原因是它失败了)。
假设相同的层次结构,我可能会这样重写:
for (var i:int = 0; i < parent.child.numChildren; i++) {
var txt:TextField = parent.child.getChildAt(i);
txt.text = stringArray[i];
}