我收到了Flex ArgumentError:错误#2025:提供的DisplayObject必须是调用者的子级。
这就是我所拥有的:
a)我将变量lastButtonClicked设置为在主应用程序中单击的最后一个按钮。
private var lastButtonClicked:DisplayObject;
private function lastButtonClickedFunction(event:MouseEvent):void {
lastButtonClicked = event.currentTarget as DisplayObject;
}
b)我打开了TitleWindow并且有一个是/否选项。我有一个自定义事件返回主应用程序的答案。
c)在主应用程序中,我正在尝试根据自定义事件发送的数据删除lastButtonClicked。所以,我的问题在于这个功能。由于某种原因,它不会让我删除按钮。我得到了错误2025.
private function answerHandler( event:AnswerEvent ):void {
if(event.answerCorrect == true){
removeChild(lastButtonClicked);
}
}
有关如何调试此问题的任何建议?自定义事件正在解雇。我如何修复此行:removeChild(lastButtonClicked); ?
编辑:我试过hbox1.removeChild(lastButtonClicked)并且它有效。正确的按钮已从主应用程序中删除。问题是并非所有按钮都在hBox1中。我有其他的HBox。所以,我需要找出一种更通用的方法,而不是在语句中使用hBox1。我厌倦了.removeChild(lastButtonClicked),但它没有用。谢谢。
谢谢。
-Laxmidi
答案 0 :(得分:0)
据我所知,似乎你有一个TitleWindow
中的按钮和应用程序中的事件处理程序。您可能希望为removeChild
的实例(例如:TitleWindow
)而不是应用程序调用{{1}}。
答案 1 :(得分:0)
我解决了。我创建了一个变量并将其设置为lastButtonClicked的父级。
private var myParent:Object; myParent = lastButtonClicked.parent;
然后在我的回答中,我写道:
myParent.removeChild(lastButtonClicked);
谢谢。
-Laxmidi