簡體   English   中英

如何為單個 ListView 創建多個適配器?

[英]How to create multiple adapters for a single ListView?

我想做的是一個簡單的應用程序,它顯示一個菜單,讓用戶通過在該菜單中選擇不同的主題來切換內容(如圖片)

內容存在於 ListView 中,因此需要一個適配器,內容不同,包含從 URL 加載的圖像,我制作了不同的適配器來匹配不同的內容,並通過為用戶設置目標適配器讓 ListView 在它們之間切換已在菜單中按下,並且在每次按下時都會發生這種情況,但問題是每次我為 ListView 設置目標適配器時,內容中的這些圖像都會從 URL 重新加載,因為 GetView() 方法已在每次調用適配器中的時間,那么我能做些什么來防止它們重新加載? 我知道我可以創建多個列表視圖,但我認為這不是一個好方法..

首次下載圖像時將圖像緩存在文件系統上。 加載圖像時,請檢查緩存,並僅在圖像尚未緩存時才下載圖像。 如果是,請改為從文件系統加載它們。

嘗試使用 glide 或 Picasso 在不同的列表視圖中加載圖像。 Glide 在內部使用它們的 url 作為檢索緩存的鍵來緩存圖像。 這樣,當您的圖像在任何列表視圖中加載一次時,它們可以被緩存以供將來在其他列表視圖中使用。 但是,您仍然需要創建圖像視圖的新實例,因為您將使用完全不同的列表視圖。 您可以創建自己的圖像視圖工廠,並在其中填充內容(圖像),並根據唯一鍵(您將定義自己可能會很痛苦)獲取此類視圖,但這對於很少的結果來說是矯枉過正的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM