2011-08-17 16 views
0

我通過圖像列表試圖循環,然後將它們添加到列表框中使用的itemRenderer的Flex創建圖像的陣列插入到的itemRenderer

public function createDataProvider():ArrayList 
{ 

    var a:Array = new Array(); 
    for (var i:int = 0; i < select_query.data.length; i++){ 
     var x:Image = new Image(); 
     x.height = 95 
     x.width = 126 
     x.id = "list_image_" + i 
     x.source = (PathToMyImage); 

     a[i] = x 


    } 
    return new ArrayList(a); 
} 
<s:List id="myListX" width="234" height="550" 
     dragEnabled="true" dropEnabled="true" dragMoveEnabled="true" 
     dataProvider="{createDataProvider()}"> 
    <s:layout> 
    <s:TileLayout id="myListX_tiles" 
        requestedRowCount="1" 
        horizontalGap="0" 
        verticalGap="0" horizontalAlign="center" verticalAlign="middle" /> 
    </s:layout> 
     <s:itemRenderer> 

     </s:itemRenderer>   
</s:List> 
+0

您需要向我們提出一個問題,以便我們回答。您處於正確的軌道上,您不會在循環中創建圖像,讓itemRenderer根據數據創建圖像。 –

+0

你能告訴我如何在itemRenderer中創建圖像 – SeanStick

回答

0

在這裏你去:

public function createDataProvider():ArrayList 
{ 

    var a:Array = new Array(); 
    for (var i:int = 0; i < select_query.data.length; i++){ 
     a[i] = (PathToMyImage); 
    } 
    return new ArrayList(a); 
} 

<s:List id="myListX" width="234" height="550" 
     dragEnabled="true" dropEnabled="true" dragMoveEnabled="true" 
     dataProvider="{createDataProvider()}"> 
    <s:layout> 
    <s:TileLayout id="myListX_tiles" 
        requestedRowCount="1" 
        horizontalGap="0" 
        verticalGap="0" horizontalAlign="center" verticalAlign="middle" /> 
    </s:layout> 
    <s:itemRenderer> 
     <fx:Component> 
      <s:DataRenderer> 
       <s:Image source="{data}" height="95" width="126" /> 
      </s:DataRenderer> 
     </fx:Component> 
    </s:itemRenderer> 

</s:List> 
+0

謝謝你的幫助! – SeanStick

+0

如果有幫助,請不要忘記接受這個答案。這對你的聲譽也很有好處。 –