【问题标题】:How can addChild choose the wrong insertion index?addChild 如何选择错误的插入索引?
【发布时间】:2008-09-29 09:41:14
【问题描述】:

因此,在 Flex 应用程序中,我通过创建并调用 parent.addChild() 添加了一个新的 GUI 组件。但是在某些情况下,这会导致 Flex 内部出现错误。事实证明,addChild 确实做到了:

return addChildAt(child, numChildren);

在它中断的情况下,numChildren 会以某种方式关闭。导致此错误:

RangeError:错误 #2006:提供的 索引超出范围。在 flash.display::DisplayObjectContainer/addChildAt() 在 mx.core::Container/addChildAt() 在 mx.core::Container/addChild() . .在 flash.events::EventDispatcher/dispatchEventFunction() 在 flash.events::EventDispatcher/dispatchEvent() 在 mx.core::UIComponent/dispatchEvent() 在 mx.controls::SWFLoader::contentLoaderInfo_completeEventHandler()

这是 Flex 中的错误还是我如何使用它?看起来这可能是一个线程错误,但由于 Flex 不支持线程,这有点令人困惑。

【问题讨论】:

  • 你能用一些换行符重新格式化错误吗,这使得帖子的其余部分难以阅读!

标签: apache-flex actionscript-3 debugging


【解决方案1】:

我注意到它最常发生在重新设置已在显示列表中的 UIComponent 的父级时。在这种情况下,您要重新养育子女吗?

【讨论】:

  • 必须检查。知道如何解决它吗?
  • 这对我有用。我添加了一个检查以查看是否已经添加了孩子。如果是这样,我在再次添加之前将其删除。 if (panel.contains(myChild) ) { panel.removeChild(myChild); }
【解决方案2】:

是否有可能在组件完全初始化之前添加一个子组件?也许在 Event.COMPLETE 广播后尝试添加一个孩子?

它可能不支持线程,但它仍然是异步的......

【讨论】:

  • 如果我没记错的话,我也遇到了同样的问题,这就是罪魁祸首。
【解决方案3】:

numChildren 没有有效地引用子数组中的现有索引。 AS3 中的数组从 0 开始索引。这意味着数组中的最后一项作为索引 numChildren - 1,而不是 numChildren。

尝试 addChildAt(child, numChildren - 1);

【讨论】:

  • 如果我可以多次投票,我会的!看到原来的问题,就像“等一下……”
【解决方案4】:

好的,就像一个傻瓜一样,我试图将一个孩子添加到一个容器中,即使它已经存在,因此会出现令人困惑的“错误插入索引”消息。

【讨论】:

    【解决方案5】:

    参见。 http://forums.devshed.com/flash-help-38/scroll-pane-scroll-bars-not-working-818174.html - 您需要做的是将子项添加到显示对象,然后将滚动窗格的源设置为显示对象。有点像……

    代码:

    var myDisplay : DisplayObject = new DisplayObject();
    
    myDisplay.addChild(myChild1);
    myDisplay.addChild(myChild2);
    myDisplay.addChild(myChild3);
    myDisplay.addChild(myChild4);
    
    ScrollPane.source = myDisplay;
    ScrollPane.update();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多