我有一棵树,我可以使用拖放操作来安排里面的节点,我的程序会抛出空指针异常。当我看到跟踪时,错误实际上在核心库中,而不是在我的代码中。有谁知道这个的含义?
TypeError:错误#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] 在flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at 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 / mouseUpHandler()[E:\ dev \ 4.5.1 \ frameworks \ projects \ framework \ src \ mx \ managers \ dragClasses \ DragProxy.as:599]
当我开始拖动一个节点(至少一个或两个像素)时会发生异常。我有这个初始化,然后我以编程方式添加孩子
eventsTree.dragEnabled=true; eventsTree.dropEnabled=true; eventsTree.dragMoveEnabled=true; eventsTree.addEventListener(ListEvent.ITEM_DOUBLE_CLICK, itemDoubleClickHandle eventsTree.addEventListener(DragEvent.DRAG_DROP, dragDropHandler); eventsTree.addEventListener(ListEvent.ITEM_CLICK,itemClickListener) loadTreeContents();
答案 0 :(得分:2)
计算结果为null的对象不能具有任何属性。在某些意外(尽管有效)情况下可能会发生此错误。例如,请考虑以下代码,该代码创建Sprite对象。由于此Sprite对象永远不会添加到显示列表中(通过DisplayObjectContainer对象的addChild()方法),因此其stage属性设置为null,因此其stage属性不能具有任何属性。所以代码生成了错误:import flash.display.Sprite;
var sprite1:Sprite = new Sprite(); var 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();
希望这会对你有所帮助。
P.S记住分号并关闭括号。参考文献:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/runtimeErrors.html