Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Peter Hahmann

ViewStack com filhos dinâmicos

Recommended Posts

Sei que este é um forum de flash e as... mas como minha dúvida inclui AS3, espero que alguem talvez possa me dar alguma luz.

 

Estou trabalhando com adobe flex e tenho um componente de ViewStack criado via mxml, este componente está funcionando perfeitamente.

 

Agora estou criando Vboxes dynamicamente através de conteudos guardados em ArrayCollections vindos do banco. Após criar estes VBoxes eu adiciono eles ao ViewStack e avanço. Infelizmente quando avanço (stackEnquete.selectedIndex++) o flex me retorna que o index não existe (out of bounds), ou seja...aparentemente ou os VBoxes não foram criados ou eles nao foram adicionados corretamente ao ViewStack.

 

Abaixo está o as que cria os boxes e os adiciona ao stack.

 

 

 

private function criarFilhoStack():void{

 

 

/* for(var i:int = 0; i < arrPergunta.length; i++){

var arrRespostaTemp:ArrayCollection = new ArrayCollection();

 

for(var j:int = 0; j < arrResposta.length; j ++){

 

if(arrPergunta.getItemAt(i).COD_ENQUETE_PERGUNTA == arrResposta.getItemAt(j).COD_ENQUETE_PERGUNTA){

arrRespostaTemp.addItem(arrResposta.getItemAt(j));

}

} */

 

var boxPergunta:VBox = new VBox();

//boxPergunta.label = 'pergunta'+i;

 

/* var pergunta:Text = new Text();

pergunta.text = arrPergunta.getItemAt(i).PERGUNTA

boxPergunta.addChild(pergunta);

 

var grpResposta:RadioButtonGroup = new RadioButtonGroup();

//boxPergunta.addChild(grpResposta as RadioButtonGroup);

 

var repResposta:Repeater = new Repeater();

repResposta.dataProvider = arrRespostaTemp;

 

var radioResposta:RadioButton = new RadioButton();

radioResposta.groupName = grpResposta.toString();

radioResposta.label = repResposta.currentItem.RESPOSTA;

radioResposta.value = repResposta.currentItem.COD_ENQUETE_RESPOSTA;

repResposta.addChild(radioResposta);

 

boxPergunta.addChild(repResposta); */

 

stackEnquete.addChild(boxPergunta);

//}

stackEnquete.selectedIndex++;

}

 

 

 

Agradeço desde já!

abraços,

peter

Compartilhar este post


Link para o post
Compartilhar em outros sites

MOVIDO http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Flex e Flash para Aplicações

 

 

 

 

 

 

 

eu fiz um teste aqui e funcionou:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
	<![CDATA[
		import mx.containers.VBox;
		import mx.controls.Text;
		
		public function insereBox():void
		{
		
			var boxPergunta:VBox = new VBox();
			var pergunta:Text = new Text();
			pergunta.text = "id:" + viewstack1.selectedIndex.toString()
			boxPergunta.addChild(pergunta);
			viewstack1.addChild(boxPergunta);
			viewstack1.selectedIndex++
		}
		
	]]>
</mx:Script>

	<mx:ViewStack  x="63" y="71" id="viewstack1" width="200" height="200">
	</mx:ViewStack>
	<mx:Button x="285" y="130" label="add" click="insereBox()"/>
	<mx:Button x="76" y="288"  label="volta" click="viewstack1.selectedIndex--"/>
	<mx:Button x="172" y="288" label="vai" click="viewstack1.selectedIndex++"/>
	
</mx:Application>

 

 

vai dando uma alterada que deve ser outra coisa o problema

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.