我有一個GridView
包含ImageView
s,我想刷新View
s,如果圖像被成功下載並轉換爲Bitmap
對象。該GridView
的適配器具有getView
方法,可以如果存在一個默認的圖像或解碼設置爲Bitmap
下載的圖像。有效更新GridView子視圖
要刷新的GridView我可以使用myGridView.getAdapter().notifyDataSetChanged()
方法,所以我創建了一個BroadcastReceiver
能夠檢測是否成功下載的文件是我需要的圖像之一,並最終發送Listener
事件到活動包含GridView
刷新它。由於GridView控件適配器甚至可以包含數千個元素,我想如果View
針對特定的文件是可見的執行發射notifyDataSetChanged
只。
我認爲做這樣的事情:
for(int i=0;i<myGridView.getChildCount();i++){
if(myGridView.getChildAt(i).isTheOneINeed) { //notifyDataSetChanged(); break; }
}
但我有點擔心:如果用戶滾動的GridView和childView變成零,或者它通過在接下來的項目之一代替Adapter
?有沒有更安全的方法來做到這一點?
'getVisiblePosition'方法似乎是我一直在尋找的! – Vektor88