2009-04-29 3 views
0
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.problem in itemClick

ответ

1

Если панель только когда-либо содержит один объект, вы можете использовать следующие перед добавлением нового:

panel.removeAllChildren(); 

Если есть известное число «статических» детей в панели, можно условно удалить дополнительный из них:

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

лучшим вариантом будет содержать ссылку на объект, который вы добавили, так что вы можете удалить его в явном виде с помощью RemoveChild(). Если эти альтернативы не сработают, возможно, вы сможете объяснить свои ограничения.

+0

Я хотел бы указать, что removeAllChildren - это только Flex, а не AS3 вообще, например, для Flash, так что никто не путает :) –