簡體   English   中英

為每個列表項創建自定義視圖的最佳方法

[英]Best way to create a custom view for every list item

當我審查和制作我的android項目原型時,我注意到有一個視圖具有非常定制的項目列表。 我已經弄清楚了我計划使用的大多數工具,但是我需要一些建議。

我有一個項目列表,其中可以包含照片,右邊的一些文本,底部的圖像以及其下的更多文本。 我很困惑。 每個項目可能都存在。 標題將永遠存在。

所以我的問題是-創建每個自定義列表項視圖的最佳方法是什么? 我在想我必須使用此getView來創建每個視圖。 但是在創建每個視圖時,最好是1)動態創建視圖並添加圖像(例如,如果圖像存在的話),或2)創建包含所有可能元素的xml文件並根據項目隱藏它們?

就性能而言,#2更好,因為您將能夠將ListView給出的convertView作為getView()參數重用到適配器。 為了允許ListView平滑滾動,您必須避免在getView()調用期間創建任何View。

您可以從《開發人員指南》中的此示例中找到getView()的高效實現。 有兩個要點:

  • 在可用時重用convertView
  • 使用附加到View的ViewHolder避免每次調用getView()時都不必再次查找子視圖

我會選擇#2。 您可以使用所有項目進行xml布局,然后編寫列表適配器,在其中可以根據需要隱藏和顯示項目。 這樣,如果您需要更改布局,則只需調整xml。

暫無
暫無

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

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