2010-09-21 73 views
0

我有一個列表視圖,我膨脹第一個位置的佈局和其他位置我做 另一個佈局的通貨膨脹。 我可以通過檢查getView中的每一次來做到這一點,但正如你可以想象的那樣,這不是非常有效。在Android上的listAdapter充氣2個不同的佈局

你可以與我分享你的想法,通過這種模式來獲得結果嗎? (這並不讓我正確的結果(原因後4-5位,根據位置的數量的膨脹是第一次,我得到其他位置的layout.inside_list_2了。)

if (convertView == null) { 
    if (position == 0) 
    convertView = mInflater.inflate(R.layout.inside_list_2, 
          parent, false); 
    else 
    convertView = mInflater.inflate(R.layout.inside_list, null); 
    } 
else{ 
     holder=(ViewHolder)convertView.getTag(); 
} 

回答

3

你問題與ListView中的視圖在您滾動時重複使用的事實有關,因爲性能原因

因此,在getView中,您無法依賴convertView處於任何給定的初始狀態,您需要檢查每次查看以確保它是正確的。

但是,在你的情況下,你可能想要l使用a header view

+0

頭的看法是正是我想要的。 – weakwire 2010-09-21 20:49:58

+0

如果正確使用'getItemViewType'和'getViewTypeCount',則可以確定convertView具有有效類型(或者爲null) - 請參閱我的答案 – tomash 2010-09-22 09:21:16