初学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; }