首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用工具提示时,我收到错误#2025:提供的DisplayObject必须是调用者的子级

使用工具提示时,我收到错误#2025:提供的DisplayObject必须是调用者的子级
EN

Stack Overflow用户
提问于 2015-06-06 11:53:53
回答 1查看 134关注 0票数 0

当我添加工具提示,然后删除工具提示时,我在舞台上单击时得到以下错误:

代码语言:javascript
复制
ArgumentError: Error #2025: The supplied DisplayObject must be a child of the caller.
    at flash.display::DisplayObjectContainer/getChildIndex()
    at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::rawChildren_getChildIndex()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\SystemManager.as:2195]
    at mx.managers::SystemChildrenList/removeChild()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\SystemChildrenList.as:167]
    at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::reset()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\ToolTipManagerImpl.as:1379]
    at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::targetChanged()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\ToolTipManagerImpl.as:892]
    at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::checkIfTargetChanged()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\ToolTipManagerImpl.as:797]
    at mx.managers::ToolTipManagerImpl/http://www.adobe.com/2006/flex/mx/internal::toolTipMouseOverHandler()[C:\Jenkins\workspace\flex-sdk_release-candidate\frameworks\projects\framework\src\mx\managers\ToolTipManagerImpl.as:1623]

我已经想尽办法摆脱它了。下面是我使用的代码:

代码语言:javascript
复制
// adding
PopUpManager.addPopUp(rulerPopUp, SystemManager.getSWFRoot(this));
toolTipPopUp = ToolTipManager.createToolTip("HELLO", event.stageX, event.stageY) as ToolTip;
ToolTipManager.currentToolTip = toolTipPopUp;

swfRoot.addEventListener(MouseEvent.MOUSE_MOVE, mouseRulerMoveHandler, true, EventPriority.CURSOR_MANAGEMENT, true);
swfRoot.addEventListener(MouseEvent.MOUSE_UP, mouseRulerUpHandler, true, EventPriority.CURSOR_MANAGEMENT, true);

// removing
swfRoot.removeEventListener(MouseEvent.MOUSE_MOVE, mouseRulerMoveHandler, true);
swfRoot.removeEventListener(MouseEvent.MOUSE_UP, mouseRulerUpHandler, true);

if (toolTipPopUp && toolTipPopUp.stage) {
    ToolTipManager.destroyToolTip(toolTipPopUp);
    toolTipPopUp = null;
}

有没有人看到我得到这个错误的原因?

EN

回答 1

Stack Overflow用户

发布于 2015-06-06 16:51:46

将currentToolTip设置为null似乎可以解决此问题。

if (toolTipPopUp && toolTipPopUp.stage) { ToolTipManager.destroyToolTip( toolTipPopUp );ToolTipManager.currentToolTip = null;//添加此行toolTipPopUp= null;}

从那以后,我再也没有遇到过任何错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30678745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档