listview对不同item布局问题

listview中使用getItemViewType和getViewTypeCount设置不同的布局样式,但是我没看到在哪里设置type对应layout,那么为什么通过getItemViewType就知道是否存在这样的convertView?

getview中,根据getItemViewType的值,加载不同的布局

if(convertView == null){

switch (type){

case TALK_TYPE_YOU:

convertView = inflater.inflate(R.layout.talk_item_you,parent,false);

break;

case TALK_TYPE_ME:

convertView = inflater.inflate(R.layout.talk_item_me,parent,false);

break;

}

holder = new ViewHolder();

holder.talk_time = (TextView) convertView.findViewById(R.id.talk_time);

holder.talk_icon = (ImageView) convertView.findViewById(R.id.talk_icon);

holder.talk_man = (TextView) convertView.findViewById(R.id.talk_man);

holder.talk_content = (TextView) convertView.findViewById(R.id.talk_content);

convertView.setTag(holder);

}else{

holder = (ViewHolder) convertView.getTag();

}

if(convertView == null){

switch (type){

case TALK_TYPE_YOU:

convertView = inflater.inflate(R.layout.talk_item_you,parent,false);

break;

case TALK_TYPE_ME:

convertView = inflater.inflate(R.layout.talk_item_me,parent,false);

break;

}

holder = new ViewHolder();

holder.talk_time = (TextView) convertView.findViewById(R.id.talk_time);

holder.talk_icon = (ImageView) convertView.findViewById(R.id.talk_icon);

holder.talk_man = (TextView) convertView.findViewById(R.id.talk_man);

holder.talk_content = (TextView) convertView.findViewById(R.id.talk_content);

convertView.setTag(holder);

}else{

holder = (ViewHolder) convertView.getTag();

}