让我们说这是我的代码,
我想根据某些条件将2个不同的视图扩展到listView.
public View getView(int position, View convertView, ViewGroup parent) {
if (condition) {
view = layoutInflater.inflate(R.layout.layout1, parent, false);
} else {
view = layoutInflater.inflate(R.layout.layout2, parent, false);
}
return view;
}
我想使用convertView来回收返回的视图,但是我的适配器将如何知道要回收的两种类型中的哪一种?
最佳答案 回答:
您应该将此方法添加到适配器,这将使适配器将正确的转换视图提供给当前索引.
只要你保持与正确的类型保持一致,你回来的数字并不重要.
public int getItemViewType(int position) {
int type;
if (condition) {
type = 1;
} else {
type = 2;
}
return type;
}