2011-09-06 36 views
2

我使用的是Fedor的Lazy Load,但我似乎無法使其適應填充圖庫而不是listview。我的主要問題似乎是無需膨脹單獨的佈局。我如何直接將圖像結果傳遞給畫廊?Fedor的圖庫延遲加載

這是我目前getview它不工作

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null){ 
    ImageView image= new ImageView(context); 
    image.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
    image.setScaleType(ImageView.ScaleType.FIT_XY); 
    imageLoader.DisplayImage(data[position], activity, image); 
    } 
    return vi; 
    } 

,誤差在圖片庫中一個NullPointerException。

關於適當修改的任何想法?

感謝

回答

0

試試這個:

public View getView(int position, View convertView, ViewGroup parent) { 
    ImageView imgView; 
    if (convertView == null) { 
     imgView = new ImageView(context); 
     imgView.setLayoutParams(new Gallery.LayoutParams(150, 100)); 
     imgView.setScaleType(ImageView.ScaleType.FIT_XY); 
    } else { 
     imgView = convertView; 
    } 

    imageLoader.DisplayImage(data[position], activity, imgView); 

    return imgView; 
} 
+0

謝謝,但事情已經從這裏移開了一點點。我現在可以成功地啓動該活動,將單獨的佈局誇大爲僅包含圖庫的ImageView。沒有錯誤,但存根圖像永遠不會被實際圖像取代。我會嘗試調試,但如果你知道答案,那將是很棒的。 – gloscherrybomb

+0

然後您需要發佈整個代碼。我自己沒有任何問題地使用Fedor的懶惰加載類,並且很容易適應我自己的需求。 –

2

我用它來工作如下:

public View getView(int position, View convertView, ViewGroup parent) { 
    View vi=convertView; 
    if(convertView==null){ 
     vi = inflater.inflate(R.layout.galitem, null); 
    ImageView image=(ImageView)vi.findViewById(R.id.galimage); 
    imageLoader.DisplayImage(data[position], activity, image); 
    } 

    return vi; 

} 

我設置的參數在其他地方。