1.listview的适配器中getCount()方法返回的数字,需要在原有的数据上+1;
@Override
public int getCount() {
return list.size() + 1;
}
2.重写getViewTypeCount()方法和getItemViewType()方法
@Override
public int getViewTypeCount() {
return 2;
}
private int NORMAL_TYPE = 0;
private int BOTTOM_TYPE = 1;
@Override
public int getItemViewType(int position) {
if (position == list.size()) {
return BOTTOM_TYPE;
} else {
return NORMAL_TYPE;
}
}
3.在getView()方法中,加以判断,返回不同的view
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
if (type == 1) {
convertView = View.inflate(context, R.layout.loadmore_progress, null);
} else {
.....
convertView = View.inflate(context, R.layout.normal_item, null);
......
}
}