Declare os objetos container e imgFile dentro do loop, vc os declarou fora e instancia dentro, faça tudo dentro do loop para garantir que a cada add no array vc estará inserindo uma instnacia deles, e você tb não deve setar null neles dentro do loop e nem em nenhum lugar pois assim vc mata a instancia do objeto mesmo se inseridos no thumbs e no container pois se tratam de ponteiros do endereço de memória.
Em 1 de julho de 2010 20:55, Paulo Augusto Teixeira <[email protected] > escreveu: > Boa noite pessoal, > > Estou fazendo uma galeria com thumbs de imagens e ao gerar a galeria tá > apresentando um a menos. > > Eu arrasto 5 imagens para a aplicação, fiz um debug e está carregando todas > as imagens certinho, verifiquei o HBox que está recebendo os thumbs e nele > aparece que o número de childs é 5 mas na tela só aparece 4. E quanto > carrego uma imagem só, a mesma não aparece. E o processo funciona certinho > inclusive o hbox diz que tem 1 child. > > Vejam o método que eu uso para criar a galeria dentro do hbox. > > public function createThumbsGallery(value:Array):void > { > var files:Array = value; > var imgFile:Image; > var mask:Shape = new Shape(); > var container:Canvas; > mask.graphics.beginFill(0xFFFFFF); > mask.graphics.drawRect(40,5,50,50); > mask.graphics.endFill(); > for each (var f:Object in files) { > if (f.extension.toString().toLowerCase() == "jpg") { > container = new Canvas(); > imgFile = new Image(); > imgFile.source = f.nativePath; > imgFile.width = 130; > imgFile.height = 130; > imgFile.toolTip = ManagerConstants.TOOTIP_IMAGES_THUMBS + f.name; > imgFile.addEventListener(MouseEvent.CLICK, thumbClickHandler); > imgFile.mask = mask; > container.y = 5; > container.width = 50; > container.height = 50; > container.horizontalScrollPolicy="off"; > container.verticalScrollPolicy = "off"; > hbThumbs.addChild(container); > container.addChild(imgFile); > imgFile = null; > container = null; > } > hbThumbs.invalidateDisplayList(); > hbThumbs.invalidateProperties(); > hbThumbs.invalidateSize(); > } > } > > Alguém consegue achar alguma coisa que possa estar causando o erro? > > []s e obrigado desde já > > -- > Paulo A. Teixeira > Adobe Certified Expert Flex 3 with AIR > Adobe Certified Expert Rich Internet Application v1.0 > Adobe Certified Expert ColdFusion 8 > -- > Blog: http://www.pauloteixeira.blog.br > > -- > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > Para enviar uma mensagem, envie um e-mail para [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev -- Clayton Marques Pereira -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
