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); 
} 

Lorsque je clique sur l'élément suivant, la fenêtre précédente est toujours visible. Comment puis-je détruire myObj. Je ne suis pas capable de le faire via removeChild.problème dans l'objetCliquez sur

Répondre

1

Si le panneau ne contient jamais un objet, vous pouvez utiliser ce qui suit avant d'ajouter le nouveau:

panel.removeAllChildren(); 

S'il y a un nombre connu d'enfants « statiques » dans le panneau, vous pouvez supprimer conditionnellement les plus : les

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

la meilleure option serait de tenir une référence à l'objet que vous avez ajouté de telle sorte que vous pouvez le supprimer en utilisant explicitement removeChild(). Si ces alternatives ne fonctionnent pas, vous pourriez peut-être expliquer vos contraintes.

+0

Je tiens à souligner que removeAllChildren est une chose uniquement Flex, PAS AS3 en général, comme pour Flash, de sorte que personne ne soit confus :) –

Questions connexes