ArrayCollection子节点返回null

时间:2009-08-12 20:04:28

标签: xml flex arraycollection

我有一个具有以下结构的ArrayCollection(在调试模式下查看时):

[0]
- [0]
-- src
- [1]
-- src

src是图像的路径。

我需要从arraycollection中获取所有src。但是由于第一个(未命名的)节点,我无法接受它们。

我已经尝试了ArrayCollection [0] .children并将结果保存在另一个ArrayCollection中,但新的ArrayCollection中有2个对象,但没有'src'。只有2个空对象

firstArrayCollection用如上所述的数据填充。

secondArrayCollection.addItem(firstArrayCollection[0].children);

查看secondArrayCollection的内容时,我会看到以下结构(和数据):

[0] null
[1] null

1 个答案:

答案 0 :(得分:2)

var i:int = 0;
var myNormalArray:Array = new Array();

//loop through collection
for each (var child:* in myArrayCollection)
{
  //do what you want with the child
  myNormalArray[i++] = child;
}

这会将集合中的所有对象都放入一个正常的数组中,在这个数组中,它们可以被索引引用。如果你看一个数组集合它没有长度的概念,所以索引不能是一个它必须是一个键的索引。

或者只是这样思考它(虽然我从来没有这样做过)

var myArray:Array = myArrayCollection.toArray();

希望这会有所帮助

乔恩

// *********** ***********

第二次尝试!!!!!!

var pathArray:Array = new Array();
var i:int = 0;
for each (var child:* in myArrayCollection)
{
  for each (var pathObject:Object in child)
  {
    pathArray[i++] = pathObject.src;
  }
}

这应该可行,我还没有测试