2012-12-03 90 views
0

在我的應用程序中,圖像從服務器加載。我已經使用圖像加載器進行圖像加載。 但問題是,當圖像加載時,如果我滾動列表視圖,圖像混洗,圖像的順序是錯誤的。但加載完成後,所有圖像都處於正確的位置。如果我現在滾動圖像不混洗,他們在正確的位置。 我在列表視圖getView()中使用了setTag()getTag()。 請幫我解決在列表視圖中加載圖像時圖像混洗的問題。 這裏是我的getView()ListView在android中滾動圖像

public View getView(int position, View convertView, ViewGroup parent) { 
     // TODO Auto-generated method stub 
     View rowView = convertView; 
     ProgressBar progress; 
     ImageView image; 
     ViewHolder view_holder = null; 
     String m_AllImages=m_BaseImageAll.get(position); 

     try { 

      if (rowView == null) { 
       rowView = inflater.inflate(R.layout.photo_show_sub, 
         null); 

       view_holder = new ViewHolder(); 
       view_holder.progress = (ProgressBar) rowView.findViewById(R.id.photoGalProgress); 
       view_holder.image = (ImageView) rowView.findViewById(R.id.image); 

      } 
      else 
      { 

       view_holder = (ViewHolder) rowView.getTag(); 

      } 
      imageLoader.displayImage(m_AllImages, 
        activity, view_holder.image, view_holder.progress); 

     } catch (Exception ex) { 
      ex.printStackTrace(); 
     } 

     return rowView; 
    } 
+0

在這裏發佈'displayImage()'代碼。 –

回答

3

在你的代碼::

holder.image.setTag(m_AllImages.get(position)); 
imageLoader.displayImage(m_AllImages, activity, view_holder.image, view_holder.progress); 
+1

使用此程序和第二個答案image.setImageBitmap(R.Drawable.ic_launcher);解決了這個問題。非常感謝。 – Santanu

2

加入這行代碼,其實它不是如圖像越來越洗牌,一些圖像被下載比以前更快,沒有圖像的ImageView被打包出來,被加載的ImageView首先顯示圖像。所以它似乎最初被洗牌,除非所有的圖像被下載並且沒有實際洗牌。

與虛擬影像檢查它,說

image.setImageBitmap(R.Drawable.ic_launcher);