初學Android,工程開發中常常須要用到Listview組件,吃了很多關於頁面顯示異常的虧java
諸如:ide
當每條佈局文件並不一致的時候,上下兩條item佈局顯示混雜,竄樣{上面item的佈局式樣包含下面的佈局式樣}佈局
每條item的顯示順序被打亂了,【1-2-3-4】可能變成了【2-3-4-1】性能
當每條佈局文件並不一致的時候,可能下面圖片的內容跑到上面的item中去了code
就很少說什麼了,直接上乾貨,請看【//】註釋部分圖片
@Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; //每次都上getView去從新繪製 //雖然損失了部分性能,可是問題獲得瞭解決 // if (convertView == null) { convertView = LayoutInflater.from(mContext).inflate( R.layout.adapter_circle_msg_item, null); holder = new ViewHolder(convertView); convertView.setTag(holder); // } else { // holder = (ViewHolder) convertView.getTag(); // } CircleMsgItemInfo info = mInfos.get(position); holder.fillViewWithData(info); return convertView; }