ActionScript拖放类型错误:错误#1009

ActionScript拖放类型错误:错误#1009,actionscript,error-handling,drag-and-drop,Actionscript,Error Handling,Drag And Drop,我有一个树,我可以使用拖放来排列里面的节点,我的程序抛出空指针异常。当我看到跟踪时,错误实际上在核心库中,而不是在我的代码中。有人知道这是什么意思吗 TypeError:Error#1009:nullのオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 在mx.controls.listClasses::ListBase/hideDropFeedback()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\listC

我有一个树,我可以使用拖放来排列里面的节点,我的程序抛出空指针异常。当我看到跟踪时,错误实际上在核心库中,而不是在我的代码中。有人知道这是什么意思吗

TypeError:Error#1009:nullのオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。 在mx.controls.listClasses::ListBase/hideDropFeedback()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\listClasses\ListBase.as:8619] 位于mx.controls::Tree/dragDropHandler()[E:\dev\4.5.1\frameworks\projects\mx\src\mx\controls\Tree.as:3328] at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() 位于mx.core::UIComponent/dispatchEvent()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\core\UIComponent.as:13128] 位于mx.managers.dragClasses::DragProxy/_dispatchDragEvent()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\dragClasses\DragProxy.as:374] 位于mx.managers.dragClasses::DragProxy/mouseuphHandler()[E:\dev\4.5.1\frameworks\projects\framework\src\mx\managers\dragClasses\DragProxy.as:599]

当我开始拖动一个节点(至少一到两个像素)时,会发生异常。我进行了初始化,然后通过编程添加子项


计算结果为null的对象不能有任何属性。在某些意外(尽管有效)情况下可能会发生此错误。例如,考虑下面的代码,创建一个SpRITE对象。由于此精灵对象从未添加到显示列表(通过DisplayObjectContainer对象的addChild()方法),因此其stage属性设置为null,因此,其stage属性不能有任何属性。因此代码生成错误:import flash.display.Sprite

变量sprite1:Sprite=新Sprite(); 变量q:String=sprite1.stage.quality

我可以建议您尝试两种已知的修复方法

  • 确保在加载对象或到达动画中的帧后运行脚本
  • 检查你的目标
也许是把代码重新整理成这样

    eventsTree.addEventListener(ListEvent.ITEM_DOUBLE_CLICK, itemDoubleClickHandle); 
    eventsTree.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);  
    eventsTree.addEventListener(ListEvent.ITEM_CLICK,itemClickListener);
    eventsTree.dragEnabled=true; 
    eventsTree.dropEnabled=true; 
    eventsTree.dragMoveEnabled=true; 
    loadTreeContents(); 
希望这对你有帮助

请记住分号并关闭括号

参考资料:

    eventsTree.addEventListener(ListEvent.ITEM_DOUBLE_CLICK, itemDoubleClickHandle); 
    eventsTree.addEventListener(DragEvent.DRAG_DROP, dragDropHandler);  
    eventsTree.addEventListener(ListEvent.ITEM_CLICK,itemClickListener);
    eventsTree.dragEnabled=true; 
    eventsTree.dropEnabled=true; 
    eventsTree.dragMoveEnabled=true; 
    loadTreeContents();