我已经查找了如何做到这一点,但似乎没有任何效果。尝试在循环中使用 i 来引用我的所有文本字段并设置它们。假设我的文本字段被命名为 textField0、textField1、textfield2 等。类似于:
for(var i:int = 0; i < numberOfFields; i++)
{
parent.child.getChildByName("textField" + i).text = stringArray[i];
}
任何帮助将不胜感激谢谢
我已经查找了如何做到这一点,但似乎没有任何效果。尝试在循环中使用 i 来引用我的所有文本字段并设置它们。假设我的文本字段被命名为 textField0、textField1、textfield2 等。类似于:
for(var i:int = 0; i < numberOfFields; i++)
{
parent.child.getChildByName("textField" + i).text = stringArray[i];
}
任何帮助将不胜感激谢谢
假设您的层次结构如下所示
0: root:MainTimeline ¬
0: Background:Shape
1: textField1:TextField
2: textField2:TextField
3: myClip:MovieClip
4: textField3:TextField
我们在列表中有一些“噪音”,因此对所有这些进行直接迭代可能不是最好的方法。我们可以并放置一个 if 语句来测试对象的名称或其对象类型,或者我们可以创建一个指向每个 TextField 的指针的手动列表。在这种情况下,每个文本字段都可以假设存在于任何嵌套容器中。这取决于您设置了什么。
在上面给出的示例中,您引用了一个字面上称为“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];
}