2010-11-14 104 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

相關問題