ViewHolder
模式的用途是幫助回收視圖。如果在我的列表中,我對每一行都有不同的佈局。在我的情況下,我有一個GridView
兩行6個元素。每個元素都有完全不同的佈局,並提供其他內容。在這種情況下,我是否應該繼續執行ViewHolder
?何時不使用ViewHolder模式?
2
A
回答
2
調用findViewbyId()
方法一直在佈局中引用窗口小部件會顯着降低應用程序的性能。爲了平滑滾動ListView
或RecyclerView
,需要使用ViewHolder
,這減少了參考時間並有助於平滑滾動。
根據你的問題,如果你對每一行有不同的佈局,那麼你需要爲每個佈局創建單獨的ViewHolder
對象。然後,在您將數據充入其中時,您需要確定您需要爲當前位置使用哪個ViewHolder
。這可能會使你的代碼有點複雜,但它大大提高了應用程序的性能。
有關ViewHolder更多信息,請訪問以下鏈接:Hold View Objects in a View Holder
1
的ListView保證在正確的convertview通過該類型,當你重寫geitemviewtype數據。 GetTag也可以在多種視圖類型下正常工作,並且仍然會阻止始終調用getItemById,從而提高性能。所以在我看來:是的,你仍然應該使用視圖模式。
相關問題
- 1. RecyclerView與ViewHolder模式
- 2. 瞭解ViewHolder模式
- 3. android listview viewholder。何時使用它,何時不使用
- 4. 問題與ViewHolder模式
- 5. 如何使用viewHolder模式在ListView中滾動UI元素?
- 6. 使用ViewHolder模式時調用Dispose()的正確時機是什麼?
- 7. 使用ViewHolder
- 8. 如何在列表視圖中使用Android DataBinding並仍使用ViewHolder模式?
- 9. 爲什麼ViewHolder模式有效?
- 10. RelativeLayout.setLayoutParams導致viewholder模式崩潰
- 11. 靜態ViewHolder模式。那麼這個靜態Viewholder裏面的onClick模式是什麼?
- 12. ViewHolder的實現和使用
- 13. 如何在我的CursorAdapter中使用ViewHolder?
- 14. 在ViewHolder模式中,setTag和getTag的作用是什麼?
- 15. 什麼是實現Viewholder設計模式的最佳方式。
- 16. 何時以及爲什麼ViewHolder應該在baseadapter中使用
- 17. 何時使用工廠方法模式?
- 18. 何時使用抽象工廠模式?
- 19. 何時使用裝飾模式?
- 20. 何時使用工廠模式?
- 21. ViewHolder類是不承認
- 22. 的Android ArrayAdapter viewHolder模式giiving空的觀點
- 23. 的Android Execption ViewHolder不能轉換到另一個Viewholder
- 24. ViewHolder佈局更新不適用onBindViewHolder()
- 25. 如何在模式和無模式模式下同時使用Django HStore DictionaryField?
- 26. 使用SqlServer模式時會話超時不起作用
- 27. 使用RxJava將ViewHolder綁定到RecyclerViewAdapter
- 28. ListView滾動時非常緩慢(使用ViewHolder /回收)
- 29. 靜態ViewHolder和獲取上下文時使用RecyclerView
- 30. 不使用兼容模式
在所有時刻都能看到6個視圖嗎? – jobbert
@jobbert好吧,其中4個是。他們每10秒刷新一次。 – Booyaches