第三部
MyAdapter
package com.bawei.test.xlistview; import android.content.Context; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.ImageLoaderConfiguration; import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer; import java.util.List; class MyAdapter extends BaseAdapter { List<DataBean.NewslistBean> list; Context context; private static final int typeOne = 0; private static final int typeTwo = 1; public MyAdapter(List<DataBean.NewslistBean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolderOne holderOne=null; ViewHolderTwo holderTwo=null; int type = getItemViewType(i); if (view == null){ switch (type) { case typeOne: holderOne = new ViewHolderOne(); view = View.inflate(context, R.layout.item_layout,null); holderOne.img_01 = (ImageView) view.findViewById(R.id.img_01); holderOne.img_02 = (ImageView) view.findViewById(R.id.img_02); holderOne.img_03 = (ImageView) view.findViewById(R.id.img_03); holderOne.text_author = (TextView) view.findViewById(R.id.text_author); holderOne.text_title = (TextView) view.findViewById(R.id.text_title); holderOne.text_time = (TextView) view.findViewById(R.id.text_time); view.setTag(holderOne); break; case typeTwo: holderTwo = new ViewHolderTwo(); view = View.inflate(context, R.layout.itemtwo_layout,null); holderTwo.imgtwo_01= (ImageView) view.findViewById(R.id.imgtwo_01); holderTwo.texttwo_title= (TextView) view.findViewById(R.id.texttwo_title); view.setTag(holderTwo); break; default: break; } } switch (type) { case typeOne: //赋值 holderOne= (ViewHolderOne) view.getTag(); holderOne.text_author.setText(list.get(i).getDescription()); holderOne.text_title.setText(list.get(i).getTitle()); holderOne.text_time.setText(list.get(i).getCtime()); //图片去加载 DisplayImageOptions options = new DisplayImageOptions.Builder() .showImageOnLoading(R.mipmap.img_in) //加载图片时的图片 .showImageForEmptyUri(R.mipmap.img_er) //没有图片资源时的默认图片 .showImageOnFail(R.mipmap.img_on) //加载失败时的图片 .cacheInMemory(true) //启用内存缓存 .cacheOnDisk(true) //启用外存缓存 .considerExifParams(true) //启用EXIF和JPEG图像格式 .displayer(new RoundedBitmapDisplayer(20)) //设置显示风格这里是圆角矩形 .build(); ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(context)); ImageLoader.getInstance().displayImage(list.get(i).getPicUrl().toString(), holderOne.img_01, options); ImageLoader.getInstance().displayImage(list.get(i).getPicUrl().toString(), holderOne.img_02, options); ImageLoader.getInstance().displayImage(list.get(i).getPicUrl().toString(), holderOne.img_03, options); break; case typeTwo: holderTwo= (ViewHolderTwo) view.getTag(); holderTwo.texttwo_title.setText(list.get(i).getDescription()); ImageLoader.getInstance().displayImage(list.get(i).getPicUrl().toString(), holderTwo.imgtwo_01); break; default: break; } return view; } @Override public int getItemViewType(int position) { int postype=position%2; if (postype==0){ return typeOne ; }else { return typeTwo ; } } @Override public int getViewTypeCount() { return 2; } class ViewHolderOne{ TextView text_title; TextView text_author; TextView text_time; ImageView img_01; ImageView img_02; ImageView img_03; } class ViewHolderTwo{ TextView texttwo_title; ImageView imgtwo_01; } }