2010-11-14 69 views
0

嘿所有,我 一直在空气应用程序工作了一段时间,在我的mx:列表之一我有一个自定义渲染器写在纯粹的AS(没有mxml)。 它扩展了listitemrenderer mx组件。 其中我已经覆盖了createChildren()函数来添加我自己的一些孩子。如何将spark组件添加到mx扩展自定义itemrenderer?

现在,堡垒从右到左的文本,我想在这个itemRenderer的,我想补充一个火花:在这个createChildren()函数

TextArea组件是有办法做到这一点?

这是的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); 
    } 
} 

,这是它的主人:

<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> 

运行这个我看到

回答

0

什么问题,你有这样的文本框而不是文本区域?

内createChildren(),这样做:

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

我从来没有做过W/A星火文本区域,但我有一个做使用BorderContainer它和它运作良好,大部分。我无法让BorderContainer显示在UIComponent或Container上,但它在Canvas上运行良好。您可能会遇到类似的问题与TextArea。

+0

对我没有说明问题 – Saariko 2010-11-14 15:43:35

+0

我没有得到任何错误,但TextArea没有出现在运行时 – Saariko 2010-11-14 15:44:16

+0

看起来像你的问题与你的uicomponent。我不能使用容器,因为我扩展listitemrenderer(这是一个组件) – Saariko 2010-11-14 15:45:26

相关问题