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; } }
listview多条目加载
猜你喜欢
转载自zhengaihua.iteye.com/blog/2333107
今日推荐
周排行