我理解Viewholder pattern的想法和用法,但我仍然有一個問題:
假設我們在視圖中有一個TextView,並顯示10個項目(「item0,item1 ....」)。
如果我調用findViewById
一次,據我所知我有一個TextView的對象。 因此,首先調用getView我爲視圖充氣,找到參考並設置文本「item0」。
在第二次調用時,我獲得相同的TextView並將文本「item1」設置爲相同的TextView。
爲什麼第0項文字不變?
背景中是否有任何克隆?Android Viewholder實現
1
A
回答
1
Is there any cloning in the background?
的Android預分配的若干意見是足以填滿其中正在運行的應用程序(的景色的游泳池)裝置的屏幕,從內容透視相同但不同於參考透視
1
假設您在適配器類中實現了ViewHolder,並且在getView()方法中使用了持有者,唯一可以肯定的是TextView在您的情況下描述了父結構的一個槽(例如ListView) 。一旦你定義了一個xml中的插槽,這是從你的適配器充氣,沒有克隆或類似的東西。
根據Google Documentation持有人的想法描述爲:
你的代碼 的ListView的滾動,這會降低性能期間可能調用findViewById()頻繁。即使適配器 返回回收的充氣視圖,您仍然需要查找 元素並進行更新。圍繞重複使用findViewById() 的方法是使用「視圖持有者」設計模式。
ViewHolder對象將佈局中標記爲 的每個組件視圖存儲,因此您可以立即訪問它們而不需要重複查找它們。首先,你需要創建一個類到 保持你的確切的一套意見。
有沒有克隆,只有視圖的可重用性
相關問題
- 1. ViewHolder的實現和使用
- 2. Android - ViewHolder模式是否在CursorAdapter中自動實現?
- 3. Android AutoCompleteTextView和ViewHolder
- 4. 的Android Viewholder爲ViewPager
- 5. 什麼是實現Viewholder設計模式的最佳方式。
- 6. ArrayAdapter中的ViewHolder問題 - Android
- 7. Android性能問題與ViewHolder
- 8. Android ViewHolder是或不是?
- 9. 在ViewHolder中的kotlin-android-extensions
- 10. Android Viewholder onclicklistener多次點擊
- 11. android - ViewHolder ImageView隨機加載
- 12. Android ViewHolder和classcast異常
- 13. 關於ListView中ViewHolder模式實現優化
- 14. 如何在回收視圖中爲自定義ViewHolder實現OnClickListener?
- 15. 實現ViewHolder的問題,ObjectItem無法解析爲類型
- 16. 在包含ViewPager的ListView上實現ViewHolder模式
- 17. 簡單的VIewHolder模式實現bug使用convertView
- 18. 的Android Execption ViewHolder不能轉換到另一個Viewholder
- 19. Android MVP實現
- 20. 實現在Android
- 21. 實現ScrollView Android?
- 22. android gridlayout實現
- 23. 實現與Android
- 24. Android:實現twitPic
- 25. Android TriggerEventListener實現
- 26. Android setonitemclicklistener實現
- 27. Android Widget實現
- 28. Android ZXing實現
- 29. MVP Android實現
- 30. java.lang.NoClassDefFoundError:com.app.VideoAlbumCustomBaseAdapter $ ViewHolder