我已經在flex中創建了一個項目渲染器spark list,但是我想調用一個函數來添加列表中的新行,而不是之後。我得到一個數據對象在它的呈現列表中,我得到的數據類型將顯示在列表即。文字或圖像。因此,在列表中添加新數據時,我希望在渲染列表中調用函數,以檢查接收到的數據類型,然後創建並添加圖像元素或文本元素。所以主要的問題是我如何獲得一個函數調用添加數據。我已經嘗試過像datachange這樣的事件並添加了它們,但是當我們滾動列表時,它們會一直重複調用函數,但是我希望函數只在添加數據時調用一次,而不是在病房後調用。下面是渲染器列表代碼,也許你會得到什麼,我試圖做一個更好的主意:Flex列表項目渲染器
<s:ItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
autoDrawBackground="true" dataChange="test_add()">
<fx:Script>
<![CDATA[
import mx.controls.Alert;
public function test_add() : void {
Alert.show("type="+data.msg_type);
if(data.msg_type=="text"){
//code to create and add new text element to list_row//
}
if(data.msg_type=="image"){
//code to create and add new image element to list_row//
}
}
]]>
</fx:Script>
<s:Group id="list_row" width="100%" verticalAlign="middle" verticalCenter="0">
</s:Group>
</s:ItemRenderer>
任何幫助將得到高度讚賞。 謝謝
嗨,謝謝你的回覆。但是我需要按照上面提到的方式來完成,因爲計劃完成更復雜的事情,並且不可能爲每個條件創建itemrenderer。 – user1190524 2012-02-05 16:17:12
@ user1190524我已經更新了一些附加信息的答案。 – RIAstar 2012-02-05 23:33:14
感謝您的更新,但我想要做的是在項目渲染中添加圖像/文本在一個組中,它不固定多少圖像/文本會出現在數據中。所以基本上它的行列表包含文本/圖像和沒有。在一行中的文本/圖像不固定。所以我使用AS創建這些文本/圖像(與特定行所需的數量相同)。但是如果我滾動列表,itemrender代碼會再次執行,如果一行中有5個圖像/文本元素,它們將變爲10,因爲渲染代碼將再次執行。請讓我知道是否有更好的方法來做到這一點。謝謝 – user1190524 2012-02-06 11:50:27