2011-12-12 32 views
0

我有一個List使用arrayCollection作爲dataprovider和一個itemRenderer來顯示一些東西,但我怎麼可以傳遞一個額外的變量到這個itemRenderer? 有什麼幫助嗎?在一個itemRenderer中傳遞額外的變量

例如這裏: adobe flex examples 如果我想傳遞一個額外的變量聲明什麼是圖像,可以發現該文件夾的名字嗎?

事先感謝!

回答

1

使用的ClassFactory:

[Bindable] 
protected var cf:ClassFactory;//bind your List's itemRenderer property to this 

protected function onPreInitialize():void { 
    cf = new ClassFactory(YourRenderer); 
    //note that {folder='theFolder'} is now {folder:'theFolder'} 
    cf.properties = {folder:'theFolder'};//note that your renderer will need to expose a public folder property 
} 
+0

我做的,你說以下內容: '[綁定]保護變種CF:的ClassFactory; ():void { cf = new ClassFactory(VideoItemRenderer); cf.properties = {folder ='images'}; }' 但它給了我一個語法錯誤,在我的VideoItemRenderer中,我把 「public var folder:String;」是好的,我在哪裏必須調用onPreInitialize()函數? – sstauross

+0

什麼是語法錯誤?您需要將文件夾變量綁定並綁定到該文件夾​​,或者使用getter/setter對該值執行一些操作。在你的根mxml標籤中,設置preinitialize =「onPreOnitialized」。 –

+0

在分配和期待標識符之前期待冒號在右括號之前:cf.properties = {folder ='images'}; 我也把這個 \t \t <![CDATA [ \t \t \t [綁定]公共變種文件夾:字符串;! \t \t]]> \t 在我的itemrenderer中,並且在調用itemrenderer的組件上做了預初始化,這些好嗎? – sstauross

相關問題