【问题标题】:ArrayCollection children returns nullArrayCollection 子项返回 null
【发布时间】:2009-08-12 20:04:27
【问题描述】:

我有一个具有以下结构的 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

【问题讨论】:

    标签: xml apache-flex arraycollection


    【解决方案1】:

    试试

    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;
      }
    }
    

    这应该可以,不过我还没有测试过

    【讨论】:

    • 感谢您的快速响应。我尝试了这两种方法,但我只得到了一个与 ArrayCollection 具有相同结构的数组。所以第一个 [0] 节点仍然阻止我将其用作数据提供者
    • 它们是具有 src 属性的对象,还是仅包含源的字符串或以 src 为键、路径为值的关联数组?
    • 这张图片可能会更容易一些:img11.imageshack.us/img11/7578/afbeelding1k.png 我需要位于 src 下的数据(img/images/rekske.png
    • 该数组仅包含指向图像的 src,因此请竖起大拇指。但现在我想知道如何使用该数组作为带有 itemrenderer 的 tilelist 的数据提供者。 itemRenderer> 似乎不起作用...无论如何,谢谢您的帮助
    猜你喜欢
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    相关资源
    最近更新 更多