2013-01-02 66 views
1

我正在使用線程加載圖像在我的getadget()我的BaseAdapter類。但圖像加載不正常..當我滾動listview圖像正在改變..同名圖像即將有些職位......幫我解決這個問題。線程在列表視圖中加載圖像

這是我的getview代碼:

public View getView(int position, View convertView, ViewGroup parent) 
    { 
     // TODO Auto-generated method stub  

//  View listView = convertView; 
     Position=position; 
     ViewHolder holder; 

     Thread thread = new Thread() 
     { 
      public void run() 
      { 
        bitmap= DownloadImage(
         kickerimage[Position]);  

      } 
     }; 
     thread.start(); 
// Bitmap bitmap= DownloadImage(
//    kickerimage[position]);  

     if (convertView == null) 
      { 
       //this should only ever run if you do not get a view back    
      LayoutInflater inflater = (LayoutInflater) contxt 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = inflater.inflate(R.layout.homelistrow, null); 

      holder = new ViewHolder(); 

      holder.image = (ImageView) convertView 
         .findViewById(R.id.icon); 


      holder.text = (TextView) convertView 
         .findViewById(R.id.name_label); 
      convertView.setTag(holder);    
      } 

     else 
        { 
         holder = (ViewHolder) convertView.getTag();   
        } 
//  





     holder.image.setImageBitmap(bitmap); 
////   items=itemsarray[position]; 
     holder.text.setText(itemsarray[position]); 

return convertview 
} 
+0

把你的線程進入的if else塊 – Yahor10

+0

使用的AsyncTask代替線程你的App –

+0

由於更好的性能Yahor10..I是新來這個概念..你可以提供更多的細節? – Subburaj

回答

1

圖像的ListView的延遲加載是你正在尋找下面的鏈接什麼可以幫助你的。也嘗試在Android中搜索延遲加載圖片的谷歌,可能會有很多結果可能會幫助你。

  1. Android, how to lazy load images from url and persistently cache them in gallery widget?

  2. LazyList

+0

謝謝lalith ..我經歷了大量的惰性加載教程,但我無法理解編碼..有很多行代碼..只有我決定使用thread.Anyway我會嘗試你的鏈接.. – Subburaj

+0

@Subburaj在第一次嘗試時不需要理解代碼,一旦你正在使用它並嘗試,你會知道這種延遲加載邏輯的機制。 –

+0

線程邏輯比自己更難以實現,而不僅僅是使用已經存在的代碼,反向工作來理解邏輯。猜猜我的答案解決了你的問題:) –

相關問題