Posts Tagged ‘ArrayCollection’

使用for loop建立有规律的ArrayCollection

Thursday, June 19th, 2008

软件: 3.0

语言: &

前言:

本质上不是一个困难的问题,但是我在遇到这个问题的时候找遍baidu和google都没能找到一个答案,所以希望我能帮助到一些和我一样初学的朋友。

解决方案:

我当时是在做一个图像列表,所以需要简单的调用从1.jpg到n.jpg在某目录下的所有图片文件,数据源xml内容为

<?xml version=”1.0″ encoding=”utf-8″?>

<photos>

<photo name=”International Fair 2008″ max=”69″>

<folder>assets/photo/08if/</folder>

</photo>

<photo name=”2nd International Coffee Hour 2008″ max=”14″>

<folder>assets/photo/08co2/</folder>

</photo>

<photo name=”1st International Coffee Hour 2008″ max=”60″>

<folder>assets/photo/08co1/</folder>

</photo>

</photos>

所以当数据被httpservice调用读取后,就需要进行重新组织,用循环产生1-max个图像地址链接

private function photosInHandler():void
{

var photoRaw: = photoXML.lastResult.photos.photo;  //建立一个新AC,并且将数据源XML的内容复制进去

for(var i:int=1;i<=photoRaw.getItemAt(comboIndex).max;i++)  //循环1-max次,combobox是个选择器,来选择xml中索引的位置,例子中是0-2.
{

var tempPhoto:Photo = new Photo;  //建立一个新类,这个类很简单,只是有一个变量url

tempPhoto.url=photoRaw.getItemAt(comboIndex).folder+i;  //组织并写入值给建立的tempPhoto对象

albumAC.addItem(tempPhoto);  //为将要使用的添加项目

photoTile.height=45*photoRaw.getItemAt(comboIndex).max+180;  //这项是因为tileList在scoll的时候性能很低,所以干脆拉长窗口长度,以增强用户体验

}
}

结语:我也是个新手,希望能在不断的总结学习中进步,谢谢