2010-11-04 92 views
0

在我審查和原型設計我的android項目時,我注意到有一個視圖具有非常自定義的項目列表。我計算出了大部分我打算使用的工具,但我需要一些建議。爲每個列表項目創建自定義視圖的最佳方式

我有一個項目列表,其中可以包含照片,一些文字在右邊,一個圖像在底部和下面的文字。非常困惑,我知道。這些中的每一個都可能出現在一個項目中。唯一會一直存在的就是標題。

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

回答

3

在性能#2而言是更好,因爲你將能夠重複使用由ListView控件提供給您的適配器的getView()參數的convertView。要允許平滑的ListView滾動,您必須在getView()調用期間避免任何View創建。

您可以在this sample from the Developer Guide中找到getView()的高效實現。有2個重要的點:

  • 重用convertView時可用
  • 使用連接到View一個ViewHolder以避免必須找到getView()再次你的子視圖在每次調用
+0

你有沒有例子?無論如何,我打算做#2,但現在我很感興趣,因爲我認爲一旦你創建了一個視圖,你就不能重用它。任何代碼示例都會很棒。 – 2010-11-04 22:48:15

0

我會去#2。您可以製作一個包含所有項目的xml佈局,然後編寫一個列表適配器,您可以根據需要隱藏和顯示項目。這樣,如果你需要改變他的佈局,你可以調整xml。

+0

謝謝,這就是我所傾向的。使用getView似乎是正確的解決方案,然後對嗎? – 2010-11-04 22:28:10

+0

是的。那就對了。 – CaseyB 2010-11-05 03:50:05

相關問題