我必须显示一个包含不同类型视图的列表。所以我必须用一个适配器定义一个 ListView,我必须在其中膨胀多个视图。我已经完成了给出的示例,但问题是我的列表不是对称的,就像标题在 4 个项目之后每次重复的示例一样。所以我面临重复使用物品的问题getView()
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if (convertView == null) {
holder = new ViewHolder();
switch (type) {
case TYPE_1:
convertView = mInflater.inflate(R.layout.item1, null);
.......
break;
case TYPE_2:
convertView = mInflater.inflate(R.layout.item2, null);
.......
break;
}
convertView.setTag(holder);
} else {
holder = (ViewHolder)convertView.getTag();
}
............
............
}
现在如果convertView 不为null,但之前使用的项目类型不同,那么布局将不匹配。这段代码将如何处理这个问题?