2011-06-21 65 views
0

下載的圖像從過去兩天我在做什麼列表字段中黑色漿果的網絡形象,因爲我是新的。 我展示了一些默認image.when列表字段我dowloaded從網頁無法在默認情況下更換實際圖像image.I使用一個線程加載圖像通過一個圖像one.But不能覆蓋使用默認圖像properly.Please幫助我。這裏是我的代碼 的列表字段。如何覆蓋默認圖像黑色漿果列表欄

public void drawListRow(ListField listField,final Graphics graphics,int index, 
     final int y, int width) 
{ 
    this.graphics=graphics; 
    this.inde=index; 
    class ImageDowload extends Task 
    { 

     void doTask() 
     { 

      load=new DowloadImage(picture[inde]); 
      if(load.getData()!=null) 
      { 
       _bmap=load.getBitmap(); 

       graphics.drawBitmap(3,y+7,placeholder.getWidth(), placeholder.getHeight(),_bmap, 0, 0); 
      } 


     } 



    } 

    taskWorker.addTask(new ImageDowload()); 

    String text=(String) get(listField, index); 
String pricedetails=price[index]; 
    graphics.setColor(rgb); 
    graphics.setFont(Utility.getBigFont(DConfig.getFSize()+4)); 
    graphics.drawBitmap(3,y+7,placeholder.getWidth(), placeholder.getHeight(),placeholder, 0, 0); 
graphics.drawText(text,100,y+25); 
graphics.drawText(pricedetails+" $",420,y+25); 
graphics.drawLine(0, y+74, DConfig.disWidth, y+74); 

} 

回答

1

你肯定不希望把你的要求在drawListRow(),因爲它會觸發每次有重繪時間。

當您創建ListField(或任何有意義的時間),剛開始所有圖像的下載。在你drawListRow()當你去畫的位圖,檢查下載的一個存在,如果它不畫,如果沒有繪製默認。現在,每個圖像下載完成後,只需invalidate() ListField,它將繪製新下載的圖像。

+0

u能提供任何代碼示例 – koti

+0

只動'DownloadImage'任務和'taskWorker.addTask()'調用到構造函數,並將它們保存到一個Hashtable或東西。然後在你的'drawListRow()'看看是否存在'ht.get(key)'。如果確實如此繪製,則不繪製默認值。不知道你的代碼是如何工作,這可能是代碼 – jprofitt

+0

一個像樣的量的感謝您在我的應用程序它的工作 – koti