1
在我的列表視圖中我有不同佈局的項目,實際上他們使用一個子佈局幾次。我不能使用getViewTypeCount()和getItemViewType(),因爲我不知道將使用多少次sublayout。是否有可能優化getView()方法,並使用它的convertView參數,或者我必須每次膨脹視圖?如何優化ListView與不同項目的佈局
在我的列表視圖中我有不同佈局的項目,實際上他們使用一個子佈局幾次。我不能使用getViewTypeCount()和getItemViewType(),因爲我不知道將使用多少次sublayout。是否有可能優化getView()方法,並使用它的convertView參數,或者我必須每次膨脹視圖?如何優化ListView與不同項目的佈局
既然您知道有多少類型的佈局,您可以使用這些方法。
getViewTypeCount()
- 這個方法返回的信息很多類型的行你怎麼在你的列表
getItemViewType(int position)
- 返回你應該使用基於
然後你誇大佈局位置,其佈局類型信息,只有當它的空並使用getItemViewType
確定類型。
查看this教程瞭解更多信息。
UPDATE:
爲了實現結構優化,一些你已經在註釋中所描述我建議:
ViewHolder
。它會提高速度,因爲您不必每次都在getView
方法中調用findViewById()
。見List14 in API demos。我希望能幫到你。如果你可以提供一些XML存根與你的數據結構和信息,你想如何將它映射到行,我將能夠給你更精確的建議
感謝您的輸入,但正如我所說,我不知道在列表視圖中將使用多少個不同的佈局,這就是爲什麼我無法重寫getViewTypeCount() – user411690 2010-08-09 19:16:34
您能否提供更多細節,爲什麼不能預測佈局的位置和數量。這是相當奇怪的。像素提供的anwser是向視圖回收商通知需要的佈局的唯一途徑。 – 2010-08-09 20:21:31
我向Web服務發送http請求以獲取xml響應,例如,只有- 具有少數屬性子節點的節點,後面跟着各種數量的
孩子,所以我創建了兩個xml佈局,一個用於項目,另一個用於子項目,在項目佈局中,我爲其屬性創建了幾個視圖線性佈局,我在其中添加這些子項目 –
user411690
2010-08-09 21:15:02