package com.example.day07_listview_;
import java.util.List;
import com.example.day07_listview_.bean.Data;
import com.nostra13.universalimageloader.core.ImageLoader;
import android.content.Context;
import android.text.TextUtils;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class MyBaseAdapter extends BaseAdapter {
private Context context;
private List<Data> list;
public MyBaseAdapter(Context context, List<Data> list) {
this.context = context;
this.list = list;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return list.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int i = getItemViewType(position);
ViewHolder0 viewHolder0 = null;
ViewHolder1 viewHolder1 = null;
ViewHolder2 viewHolder2 = null;
ViewHolder3 viewHolder3 = null;
if (convertView == null) {
switch (i) {
case 0:
convertView = View.inflate(context, R.layout.large_image_list,
null);
viewHolder0 =new ViewHolder0();
viewHolder0.textView=(TextView) convertView.findViewById(R.id.large_textView);
viewHolder0.imageView=(ImageView) convertView.findViewById(R.id.large_imageView);
convertView.setTag(viewHolder0);
break;
case 1:
convertView = View
.inflate(context, R.layout.middle_image, null);
viewHolder1 =new ViewHolder1();
viewHolder1.imageView=(ImageView) convertView.findViewById(R.id.middle_imageView);
viewHolder1.textView=(TextView) convertView.findViewById(R.id.middle_textView);
convertView.setTag(viewHolder1);
break;
case 2:
convertView = View.inflate(context, R.layout.image_list, null);
viewHolder2 =new ViewHolder2();
viewHolder2.imageView1=(ImageView) convertView.findViewById(R.id.image_list_imageView1);
viewHolder2.imageView2=(ImageView) convertView.findViewById(R.id.image_list_imageView2);
viewHolder2.imageView3=(ImageView) convertView.findViewById(R.id.image_list_imageView3);
viewHolder2.textView=(TextView) convertView.findViewById(R.id.image_list_textView);
convertView.setTag(viewHolder2);
break;
case 3:
convertView = View.inflate(context, R.layout.textview, null);
viewHolder3 =new ViewHolder3();
viewHolder3.textView=(TextView) convertView.findViewById(R.id.textView);
convertView.setTag(viewHolder3);
break;
}
}else{
switch (i) {
case 0:
viewHolder0 =(ViewHolder0) convertView.getTag();
break;
case 1:
viewHolder1 =(ViewHolder1) convertView.getTag();
break;
case 2:
viewHolder2=(ViewHolder2) convertView.getTag();
break;
case 3:
viewHolder3 =(ViewHolder3) convertView.getTag();
break;
}
}
/////////////////////////璧嬪��/////////////////////////////
ImageLoader imageLoader = ImageLoader.getInstance();
Data data = list.get(position);
switch (i) {
case 0:
viewHolder0.textView.setText(data.title);
imageLoader.displayImage(data.large_image_list.get(0).url, viewHolder0.imageView);
break;
case 1:
viewHolder1.textView.setText(list.get(position).title);
imageLoader.displayImage(data.middle_image.url, viewHolder1.imageView);
break;
case 2:
viewHolder2.textView.setText(list.get(position).title);
imageLoader.displayImage(data.image_list.get(0).url, viewHolder2.imageView1);
imageLoader.displayImage(data.image_list.get(1).url, viewHolder2.imageView2);
imageLoader.displayImage(data.image_list.get(2).url, viewHolder2.imageView3);
break;
case 3:
viewHolder3.textView.setText(list.get(position).title);
break;
}
return convertView;
}
@Override
// listView 涓嶅悓鏉$洰绉嶇被鐨勪釜鏁�
public int getViewTypeCount() {
// TODO Auto-generated method stub
return 4;
}
@Override
// 姣忎釜鏉$洰鐨勫竷灞�瑙嗗浘
public int getItemViewType(int position){
Data data = list.get(position);
// 涓�寮犲ぇ鍥撅細
if (data.large_image_list != null) {
return 0;
// 涓�寮犲皬鍥撅細
} else if (data.middle_image != null
&& !TextUtils.isEmpty(data.middle_image.url)
&& data.image_list != null && data.image_list.size() == 0) {
return 1;
// 涓夊紶灏忓浘
} else if (data.image_list != null && data.image_list.size() == 3) {
return 2;
// 鍙湁鏂囧瓧
} else if (data.large_image_list == null && data.middle_image == null
&& data.image_list != null && data.image_list.size() == 0) {
return 3;
}
return 3;
}
class ViewHolder0 {
TextView textView;
ImageView imageView;
}
class ViewHolder1 {
TextView textView;
ImageView imageView;
}
class ViewHolder2 {
TextView textView;
ImageView imageView1;
ImageView imageView2;
ImageView imageView3;
}
class ViewHolder3 {
TextView textView;
}
}