2010-11-14 25 views
0

hé tous, je ont travaillé sur une application aérienne depuis un certain temps et dans une de mes listes mx: j'ai un rendu personnalisé écrit en AS pur (pas mxml). il étend le listitemrenderer mx componenet. j'ai remplacé la fonction createChildren() pour ajouter quelques enfants de la mienne.comment ajouter un composant spark à un itemrenderer personnalisé étendu mx?

maintenant, fort de droite à gauche texte que je veux dans ce itemRenderer, je voudrais ajouter une étincelle: composant TextArea dans cette fonction createChildren()

est-il un moyen de le faire?

c'est le itemRenderer:

import flash.text.TextField; 

import mx.controls.listClasses.ListItemRenderer; 

import spark.components.TextArea; 

public class MySumTileIR2 extends ListItemRenderer 
{ 
    public function MySumTileIR2() 
    { 
     super(); 
    } 

    override protected function createChildren():void { 
     super.createChildren(); 
     label.visible = false; 

     var tf:TextField = new TextField(); 
     tf.text = "this is a TextField"; 
     this.addChild(tf); 
     var ta:TextArea = new TextArea(); 
     ta.text = "this is a Spark TextArea"; 
     this.addChild(ta); 
    } 
} 

et c'est son propriétaire:

<mx:Panel id="MTGpicsPanel" label="totalPics" title="{totalPics}" height="100%" horizontalAlign="right"> 
    <mx:List width="100%" top="18" bottom="18" left="18" right="18" id="MTGpicsList" x="0"y="0" height="100%" variableRowHeight="true" editable="false" dataProvider="{chosenPics}" doubleClick="gotoPic();" doubleClickEnabled="true" itemRenderer="MySumTileIR2"/> 
</mx:Panel> 

l'exécution de ce que je vois le champ de texte, mais pas le textarea

Répondre

0

Quels sont les problèmes que vous avoir faire ?

intérieur createChildren(), faites ceci:

var ta : spark.components.TextArea = new TextArea(); 
this.addChild(ta); 

Je l'ai jamais fait avec/a Spark TextArea, mais je l'ai fait avec un BorderContainer et cela a bien fonctionné, pour la plupart. Je ne pouvais pas faire apparaître BorderContainer sur un UIComponent ou Container, mais cela fonctionnait bien sur un Canvas. Vous pouvez rencontrer des problèmes similaires avec un TextArea.

+0

Je n'ai pas indiqué les problèmes – Saariko

+0

je n'ai pas eu d'erreur mais le TextArea ne s'est pas montré à l'exécution – Saariko

+0

semble comme le problème que vous avez eu avec uicomponent. Je ne peux pas utiliser un conteneur parce que je suis en train d'étendre listitemrenderer (qui est un composant) – Saariko