/**
*根據position來返回不同的條目類型
*返回的是你自己定義的這個條目所對應的類型
*/
@Override
public int getItemViewType(int position) {
return super.getItemViewType(position);
}
--------------------------------------------------------
/**
* 返回集中類型的條目
*/
public int getViewTypeCount() {
}
2,通過 int type = getItemViewType(position); 獲得當前條目所對應的類型type,
3,通過switch(type) 比對自己定義的條目所對應的常量,然後初始化不同的convertview
然後進行數據的填充 就OK啦·。。·。·------
----------------- 如果需要刪除其中的條目,這個getViewTypeCount 的數值應該比實際數值最少大1吧 - ,否則刪除最後一個條目的時候 會下標越界·。。·。·。·
其實上面這種方法有一些隱形的問題,比如 空指針問題,或者當你想更改其中某個條目的backgroundResource 然後你點擊其他條目,讓這個條目恢復到默認狀態的時候,上面這種方法可能就會有些複雜 而且由於邏輯判斷過多,可能會導致延遲
1,儘量能寫在一個item中,
2,在getView中自己去根據position或者其他條件來判斷 然後進行對應 gone visible
3,然後進行對應的操作;
這樣做的好處: --------------------------------1,避免過多的判斷 2,代碼簡單更容易控制,避免空指針,更適合一些邏輯處理(比如點擊效果的實現)
推薦使用第二種·。。·。·比如聊天的對話列表