itemClick中的问题

时间:2009-04-29 11:53:17

标签: flex actionscript-3 scope

if (theData.hasOwnProperty("@id1")) {
    var myObj:Hello = new Hello();
    textArea.visible = false;               
    panel.addChild(myObj);
} else if (theData.hasOwnProperty("@id2")) {
    textArea.visible = false;
    var vijay:MCQ = new MCQ();
    panel.addChild(vijay);
}

当我点击下一个项目时,前一个窗口仍然可见。我怎么能摧毁myObj。我无法通过removeChild来实现。

1 个答案:

答案 0 :(得分:1)

如果面板只包含一个对象,则可以在添加新对象之前使用以下内容:

panel.removeAllChildren();

如果面板中有已知数量的“静态”子项,您可以有条件地删除其他子项:

while (panel.numChildren > EXPECTED) {
    panel.removeChildAt(panel.numChildren - 1);
}

最好的选择是保存对您添加的对象的引用,以便您可以使用removeChild()显式删除它。如果这些替代方案不起作用,也许你可以解释一下你的约束条件。