2009-06-25 36 views
0

我有一個自定義項目渲染器,根據數據對象的數據值在行中顯示不同的gif。當我使用絕對路徑設置圖像源URL並且不嵌入時,它可以正常工作,但是當我嵌入圖像時,我發現當我在網格上下滾動時,圖像會變得混亂,有時坐在彼此的頂部。動作腳本3和自定義圖像項目管理器

有沒有人有任何想法,爲什麼在我的hbox項目渲染器中嵌入圖像造成這麼麻煩;

代碼

public var equipment:Image; 
public var compr_icons:Bitmap = new AssetManager.COMPUTER_ICON; 

.. do some logic 
equipment.addChild(compr_icons); 
+0

您在設置圖像的事件? – 2009-06-25 10:48:36

回答

0

在你的項目渲染器,嘗試重寫data setter方法(它獲取,你通過導航通過SDK爲您的數據提供程序每個項目隱式調用哪個數據綁定控件你碰巧使用),並從那裏設置圖像的source財產,像這樣:

<mx:List dataProvider="{yourDataSource}"> 
    <mx:itemRenderer> 
     <mx:Component> 
      <mx:HBox> 

       <mx:Script> 
        <![CDATA[ 

         override public function set data(value:Object):void 
         { 
          super.data = value; 

          // Set your values here (value contains your data item) 
          myImage.source = value.yourImageSourceInstance; 
          myLabel.text = value.yourLabelText; 
         } 

        ]]> 
       </mx:Script> 

       <mx:Image id="myImage" /> 
       <mx:Label id="myLabel" /> 

      </mx:HBox> 
     </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 

...,看看有沒有什麼幫助。 Flex可能試圖重用渲染器的視覺元素,但並不意識到您的意圖是在數據更改時將其交換出去。通過採取行動(數據項設置時),您可以更明確地控制渲染器的視覺元素會發生什麼。

希望有幫助!

+0

我已經覆蓋設置的數據方法。不知道什麼導致問題 – cduggan 2009-06-25 13:27:02

相關問題