這不是一個大問題,但它看起來很奇怪。在列表或gridview中,我會加載延遲的圖像(例如,從遠程位置加載)。我正在使用convertView回收這些項目。當我快速向下滾動時,我會看到重複的舊圖像,直到獲取正確的圖像並將其替換。舊物品可見一段時間,在listview或gridview中回收時
有沒有辦法改變它?例如,我嘗試在getView()
(在初始化convertView之後,如有必要)的最開始處設置imageView的可見性爲GONE
。取出圖像後設爲VISIBLE
。但由於某種原因,這不起作用(仍然看起來一樣)。
謝謝!
編輯:我甚至不確定這是使用循環視圖時的正常行爲,還是我做錯了什麼。當互聯網連接速度快,或者從文件系統中獲取時,它看起來不像一個錯誤。然後新圖像加載非常快,用戶看不到重複的項目。但是,在一個緩慢的互聯網連接,它看起來像一個錯誤。
向我們展示適配器的代碼。每次調用getView()時,只需將圖像設置爲null,然後再開始實際加載,就可以修復它。 – 2012-08-14 22:09:37
但是這不是將它設置爲'GONE'嗎?在開始線程之前,我做了一個測試,在getView()開始時將所有內容都設置爲'GONE',並且沒有任何變化(不明白爲什麼,但這正是我在設備上看到的...)。我會發布一些示例代碼。 – Ixx 2012-08-14 22:13:26
Agh ...愚蠢的我; PI將它們設置爲'GONE',但在一些其他操作之後,在開始取回過程之前將它們再次設置爲'VISIBLE' ...再次格式化stackoverflow的代碼回答了我的一個問題... – Ixx 2012-08-14 22:22:18