//分别先定义出来布局所代表的数字
private static final int type1 = 0;
private static final int type2 = 1;
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
// 返回布局的种类
@Override
public int getViewTypeCount() {
return 2;
}
// 布局的类型
@Override
public int getItemViewType(int position) {
if (list.get(position).getImgextra() != null && list.get(position).getImgextra().size() > 1) {
return type2;
}
return type1;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int itemViewType = getItemViewType(position);
ViewHolder vh = null;
if (convertView == null) {
vh = new ViewHolder();
switch (itemViewType) {
case type1: {
convertView = LayoutInflater.from(context).inflate(R.layout.lv_other1_item, null);
vh.tv_title1 = (TextView) convertView.findViewById(R.id.tv_title1);
vh.tv_source = (TextView) convertView.findViewById(R.id.tv_source1);
vh.img = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(vh);
}
break;
case type2: {
convertView = LayoutInflater.from(context).inflate(R.layout.lv_other2_item, null);
vh.tv_title2 = (TextView) convertView.findViewById(R.id.tv_title2);
vh.img1 = (ImageView) convertView.findViewById(R.id.img1);
vh.img2 = (ImageView) convertView.findViewById(R.id.img2);
convertView.setTag(vh);
}
break;
}
} else {
switch (itemViewType) {
case type1: {
vh = (ViewHolder) convertView.getTag();
vh.tv_title1.setText(list.get(position).getTitle());
String source = list.get(position).getSource();
vh.tv_source.setText(list.get(position).getSource());
String address = list.get(position).getImgsrc();
System.out.println(address);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(address, vh.img);
}
break;
case type2: {
vh = (ViewHolder) convertView.getTag();
vh.tv_title2.setText(list.get(position).getTitle());
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(list.get(position).getImgextra().get(0).getImgsrc(), vh.img1);
imageLoader.displayImage(list.get(position).getImgextra().get(1).getImgsrc(), vh.img2);
}
break;
}
// vh = (ViewHolder) convertView.getTag();
}
return convertView;
}
private static final int type1 = 0;
private static final int type2 = 1;
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return list.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
// 返回布局的种类
@Override
public int getViewTypeCount() {
return 2;
}
// 布局的类型
@Override
public int getItemViewType(int position) {
if (list.get(position).getImgextra() != null && list.get(position).getImgextra().size() > 1) {
return type2;
}
return type1;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int itemViewType = getItemViewType(position);
ViewHolder vh = null;
if (convertView == null) {
vh = new ViewHolder();
switch (itemViewType) {
case type1: {
convertView = LayoutInflater.from(context).inflate(R.layout.lv_other1_item, null);
vh.tv_title1 = (TextView) convertView.findViewById(R.id.tv_title1);
vh.tv_source = (TextView) convertView.findViewById(R.id.tv_source1);
vh.img = (ImageView) convertView.findViewById(R.id.img);
convertView.setTag(vh);
}
break;
case type2: {
convertView = LayoutInflater.from(context).inflate(R.layout.lv_other2_item, null);
vh.tv_title2 = (TextView) convertView.findViewById(R.id.tv_title2);
vh.img1 = (ImageView) convertView.findViewById(R.id.img1);
vh.img2 = (ImageView) convertView.findViewById(R.id.img2);
convertView.setTag(vh);
}
break;
}
} else {
switch (itemViewType) {
case type1: {
vh = (ViewHolder) convertView.getTag();
vh.tv_title1.setText(list.get(position).getTitle());
String source = list.get(position).getSource();
vh.tv_source.setText(list.get(position).getSource());
String address = list.get(position).getImgsrc();
System.out.println(address);
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(address, vh.img);
}
break;
case type2: {
vh = (ViewHolder) convertView.getTag();
vh.tv_title2.setText(list.get(position).getTitle());
ImageLoader imageLoader = ImageLoader.getInstance();
imageLoader.displayImage(list.get(position).getImgextra().get(0).getImgsrc(), vh.img1);
imageLoader.displayImage(list.get(position).getImgextra().get(1).getImgsrc(), vh.img2);
}
break;
}
// vh = (ViewHolder) convertView.getTag();
}
return convertView;
}