我有一个Adobe Flex项目,其中包含以下布局标记。
<s:TileGroup id="grid" width="467" height="467" requestedRowCount="15" requestedColumnCount="15" horizontalGap="0" verticalGap="0" verticalAlign="middle" name="tg">
<s:BorderContainer width="31" height="31" name="container">
<s:Label text="999" verticalAlign="middle" textAlign="center" paddingLeft="0" paddingRight="2" paddingBottom="0" paddingTop="0" width="29" height="29" click="Clicked(event)"/>
</s:BorderContainer>
<s:BorderContainer width="31" height="31" name="container">
<s:Label text="999" verticalAlign="middle" textAlign="center" paddingLeft="0" paddingRight="2" paddingBottom="0" paddingTop="0" width="29" height="29" click="Clicked(event)"/>
</s:BorderContainer>
...
...
</s:TileGroup>
我希望能够获得s:Label元素中每个text(as int)属性的值。我试过这个:
var count:int = 0;
for each (var b:BorderContainer in grid)
{
count += parseInt((b.getElementAt(0) as Label).text);
}
但这不起作用。实际上,当调试“b”始终为null时,即使“grid.getElementAt(0)”返回BorderContainer。
我很感激任何人都可以帮助我解决我的问题。
谢谢,
哈拉。
答案 0 :(得分:1)
您需要迭代群组的元素:
var count:int = 0;
for (var i:int = 0; i < grid.numElements; i++)
{
var b:BorderContainer = BorderContainer(grid.getElementAt(i));
count += parseInt(Label(b.getElementAt(0)).text);
}
如果不仅有BorderContainer和Label's,你需要进行一些类型检查(使用'as'进行投射并检查null)......