Apache flex AdobeFlex获取子对象的子对象
我有一个AdobeFlex项目,其中包含以下布局标记Apache flex AdobeFlex获取子对象的子对象,apache-flex,adobe,flash-builder,Apache Flex,Adobe,Flash Builder,我有一个AdobeFlex项目,其中包含以下布局标记 <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" nam
<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>
但这是行不通的。事实上,调试时,即使“grid.getElementAt(0)”返回一个BorderContainer,但“b”始终为null
如果有人能帮我解决问题,我将不胜感激
谢谢
Kamal.您需要像这样迭代组的元素:
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);
}
var计数:int=0;
对于(变量i:int=0;i
如果不仅仅有BorderContainer和Label,您需要做一些类型检查(使用'as'强制转换并检查null)
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);
}