//继承 Application
package com.example.yuekaolianxi1;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import android.app.Application;
import android.media.ImageReader;
public class Myapplocation extends Application {
@Override
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(
this).build();
ImageLoader.getInstance().init(configuration);
}
}
==============================================================
//适配器
public class MyBaseAdapter extends BaseAdapter {
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) {
Data data = list.get(position);
//布局类型
int itemViewType=getItemViewType(position);
ImageLoader instance= ImageLoader.getInstance();
ViewHolder1 holder1 = null;
ViewHolder2 holder2 = null;
ViewHolder3 holder3 = null;
ViewHolder4 holder4 = null;
if(convertView==null){
switch(itemViewType){
case 0:
holder1=new ViewHolder1();
//加载布局
convertView=View.inflate(context,R.layout.main_list, null);
holder1.tv_title = (TextView) convertView
.findViewById(R.id.name1);
holder1.source = (TextView) convertView
.findViewById(R.id.source1);
convertView.setTag(holder1);
break;
case 1:
holder2=new ViewHolder2();
convertView=View.inflate(context,R.layout.main1_list, null);
holder2.tv_title = (TextView) convertView
.findViewById(R.id.name2);
holder2.image_view1 = (ImageView) convertView
.findViewById(R.id.image_view1);
holder2.source = (TextView) convertView
.findViewById(R.id.source2);
convertView.setTag(holder2);
break;
case 2:
holder3=new ViewHolder3();
convertView=View.inflate(context,R.layout.main2_list, null);
holder3.tv_title = (TextView) convertView
.findViewById(R.id.name3);
holder3.image_view2 = (ImageView) convertView
.findViewById(R.id.image_view2);
holder3.source = (TextView) convertView
.findViewById(R.id.source3);
convertView.setTag(holder3);
break;
case 3:
holder4=new ViewHolder4();
convertView=View.inflate(context,R.layout.main3_list, null);
holder4.tv_title = (TextView) convertView
.findViewById(R.id.name4);
holder4.image1 = (ImageView) convertView
.findViewById(R.id.image1);
holder4.image2 = (ImageView) convertView
.findViewById(R.id.image2);
holder4.image3 = (ImageView) convertView
.findViewById(R.id.image3);
holder4.source = (TextView) convertView
.findViewById(R.id.source4);
convertView.setTag(holder4);
break;
}
}else{
switch (itemViewType) {
case 0:
holder1 = (ViewHolder1) convertView.getTag();
break;
case 1:
holder2 = (ViewHolder2) convertView.getTag();
break;
case 2:
holder3 = (ViewHolder3) convertView.getTag();
break;
case 3:
holder4 = (ViewHolder4) convertView.getTag();
break;
}
}
//设置数据
switch (itemViewType) {
case 0:
holder1.tv_title.setText(data.getTitle());
holder1.source.setText(data.getSource());
break;
case 1:
instance.displayImage(data.getLarge_image_list().get(0).getUrl(), holder2.image_view1);
holder2.tv_title.setText(data.getTitle());
holder2.source.setText(data.getSource());
break;
case 2:
instance.displayImage(data.getMiddle_image().getUrl(), holder3.image_view2);
holder3.tv_title.setText(data.getTitle());
holder3.source.setText(data.getSource());
break;
case 3:
instance.displayImage(data.getImage_list().get(0).getUrl(), holder4.image1);
instance.displayImage(data.getImage_list().get(1).getUrl(), holder4.image2);
instance.displayImage(data.getImage_list().get(2).getUrl(), holder4.image3);
holder4.tv_title.setText(data.getTitle());
holder4.source.setText(data.getSource());
break;
}
return convertView;
}
@Override
public int getItemViewType(int position) {
Data data = list.get(position);
if(data.getImage_list()!=null&&data.getImage_list().size()==3){
return 3;
}else if(data.getLarge_image_list()!=null&&data.getLarge_image_list().size()>0){
return 1;
}else if(data.getMiddle_image()!=null){
return 2;
}else{
return 0;
}
}
public int getViewTypeCount() {
return 4;
}
class ViewHolder1 {
public TextView source;
public TextView tv_title;
}
class ViewHolder2 {
public TextView source;
public ImageView image_view1;
TextView tv_title;
}
class ViewHolder3 {
public ImageView image_view2;
public TextView source;
public TextView tv_title;
}
class ViewHolder4 {
public ImageView image3;
public ImageView image2;
public ImageView image1;
public TextView source;
TextView tv_title;
}
}