2012-04-18 43 views
0

我有一個派生自android.widget.Gallery的類和派生自具有createBitmap重寫的BaseAdapter的類。畫廊將展示一大堆從互聯網上下載的圖像,但由於用戶可能選擇不傳播所有這些圖像,因此我只在必要時才下載每個圖像(即當它被圖庫顯示時)。所以在第一次調用createBitmap返回一個默認的「下載圖像」圖標和下載適當的圖像得到安排。當圖像準備就緒時,我的活動會得到通知。但我不知道如何強制刷新當前可見的圖庫對象(雖然它足以將它從視圖中滾出並返回到查看下載的圖像)。 notifyDataSetChanged()不會讓人高興...更新內容位圖時刷新圖庫對象

任何想法?

+2

您可能需要使用費多爾的懶惰。加載概念.. http://stackoverflow.com/q/541966/603744 – 2012-04-18 11:11:44

回答

1

假設當你的活動被通知時,它知道物品的位置或某種標識符。您應該能夠檢索視圖並設置位圖(它將刷新特定視圖)

識別給定標識符的視圖的方法是使用setTag函數將標識符附加到視圖上。您可以通過畫廊兒童環路和找到的觀點:

for(int i=0 ; i<mParent.getChildCount();i++){ 
    View view = mParent.getChildAt(i); 
    if(view!=null && view.getTag().equals(yourIdentifier)){ 
    return view; 
    } 
} 

,循環要快,因爲AdapterViews只保留意見數量有限,並回收他們

+0

謝謝你的兩個答案,我會檢查出去。 – ssuukk 2012-04-22 18:54:18