public class MoreStyleNewsListViewAdapter extendsBaseAdapter {privateActivity mActivity;private ListnewsList;privateImageLoader imageLoader;public MoreStyleNewsListViewAdapter(Activity mActivity,ListnewsList){this.mActivity=mActivity;this.newsList=newsList;
imageLoader=((SunNewsApplication)mActivity.getApplication()).getmImageLoader();
}private final int TYPE_COUNT=2;/*** 返回数据项的显示类型数据*/@Overridepublic int getItemViewType(intposition) {return newsList!=null?newsList.get(position).getStyle():-1;
}/*** 返回类型个数*/@Overridepublic intgetViewTypeCount() {returnTYPE_COUNT;
}
@Overridepublic intgetCount() {returnnewsList.size();
}
@Overridepublic Object getItem(intposition) {returnnewsList.get(position);
}
@Overridepublic long getItemId(intposition) {returnposition;
}
@Overridepublic View getView(intposition, View convertView, ViewGroup parent) {
ViewHolder holder=null;
NewsItem item=newsList.get(position);if(convertView==null){
holder=newViewHolder();//将layout.xml转换为View
switch(item.getStyle()){case 0:
convertView=LayoutInflater.from(mActivity).inflate(R.layout.news_item1, null);
holder.ivImg1=(ImageView)convertView.findViewById(R.id.ivNewsImg);break;case 1:
convertView=LayoutInflater.from(mActivity).inflate(R.layout.news_item2, null);
holder.ivImg1=(ImageView)convertView.findViewById(R.id.ivImg1);
holder.ivImg2=(ImageView)convertView.findViewById(R.id.ivImg2);
holder.ivImg3=(ImageView)convertView.findViewById(R.id.ivImg3);break;
}
holder.tvTilte=(TextView)convertView.findViewById(R.id.tvTitle);
convertView.setTag(holder);//记录个标识
}else{
holder=(ViewHolder)convertView.getTag();
}//向ui元素绑定数据
holder.tvTilte.setText(item.getTitle());//加载图片,先从内存中加载,内存没有再从网络加载
imageLoader.get(item.getImgUrl()[0], ImageLoader.getImageListener(holder.ivImg1,
R.drawable.default_big, R.drawable.default_big));switch(item.getStyle()){case 1:
imageLoader.get(item.getImgUrl()[1], ImageLoader.getImageListener(holder.ivImg2,
R.drawable.default_big, R.drawable.default_big)); imageLoader.get(item.getImgUrl()[2], ImageLoader.getImageListener(holder.ivImg3,
R.drawable.default_big, R.drawable.default_big));break;
}
Log.d("jereh","getView()");returnconvertView;
}private classViewHolder{privateTextView tvTilte;privateImageView ivImg1;privateImageView ivImg2;privateImageView ivImg3;
}
}