Flex ID不適用於getChildByName()。 getChildByName()被設計爲與Adobe Flash CS中的嵌套元素的ID一起使用。
flex id是一個類名稱與id相等的類成員的顯式聲明。 由於actionscript語言中缺少宏,因此無法自動創建此類控件列表。
您可以手動創建一個Vector或文本區域的陣列,並用它在你的代碼的其他部分,在你的文字區域自動重複:
var text_areas:Vector.<TextArea> = new Vector.<TextArea>();
text_areas.push(Desc1, Desc2, Desc3);
// or you can do this
var text_areas2:Array = [];
text_areas["Desc1"] = Desc1;
text_areas["Desc2"] = Desc2;
text_areas["Desc3"] = Desc3;
// Now you can iterate over the text areas
for each (var a_text_area:TextArea in text_areas)
{
....
}
或者你可以創建一個柔性陣列:
<fx:Array id="textAreas">
<s:TextArea id="textArea1"/>
<s:TextArea id="textArea2" x="397" y="0"/>
<s:TextArea id="textArea3" x="201" y="1"/>
</fx:Array>
追蹤「stage.numChildren」 - 你看到了多少物品?賠率是,你的TextAreas不是你舞臺的直接子女,而是嵌套在另一個對象中。 getChildByName不會執行對舞臺下所有兒童的深層搜索。 – meddlingwithfire