2013-07-31 50 views
0

我有延遲加載圖像到ImageViews的問題。當我向下滾動時,我看到從頂部(dupliacated)的圖像,當新圖像被下載時,它被替換爲新的圖像。如何在新圖像上顯示ProgressBar,並在下載時將圖像替換爲圖像?Android ImageView複製內容LazyLoad

這是我從LazyAdapter getView():

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null) 
     vi = inflater.inflate(R.layout.item, null); 

    ImageView image=(ImageView)vi.findViewById(R.id.image); 
    imageLoader.DisplayImage(data[position], image); 
    return vi; 
} 

和item.xml:

<?xml version="1.0" encoding="utf-8"?> 
    <FrameLayout 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:orientation="vertical"> 

    <ProgressBar android:layout_width="75dp" 
       android:layout_height="75dp" 
       android:layout_gravity="center"/> 

    <ImageView 
      android:id="@+id/image" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:scaleType="fitXY" 
      android:adjustViewBounds="true" 
      android:minHeight="300px" 
    /> 
    </FrameLayout> 

imageLoader.DisplayImage它的AsyncTask。

回答

2

您需要將圖像路徑設置爲ImageView的標籤。

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null) 
     vi = inflater.inflate(R.layout.item, null); 

    ImageView image=(ImageView)vi.findViewById(R.id.image); 
    image.setTag(data[position]); 
    imageLoader.DisplayImage(data[position], image); 
    return vi; 
} 
+0

它的下載之前沒有工作:(我看到了從上 –

+0

奧比其他的想法重複的圖片:|? –

+0

也許他應該提到使用存儲在標籤以及圖像路徑? – kabuto178