package com.wise.extend;
import java.util.List;
import com.wise.data.CarData;
import com.wise.wawc.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
/**
* 车辆信息,车牌,车标
* @author honesty
*/
public class CarAdapter extends BaseAdapter{
private static final int VALUE_CAR = 0;
private static final int VALUE_ADD = 1;
private static final String TAG = "CarAdapter";
Context context;
List<CarData> carDatas;
LayoutInflater mInflater;
public CarAdapter(Context context,List<CarData> carDatas){
this.context = context;
this.carDatas = carDatas;
mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return carDatas.size();
}
@Override
public Object getItem(int arg0) {
return carDatas.get(arg0);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
int type = getItemViewType(position);
ViewHolder holder = null;
ViewAdd viewAdd;
if (convertView == null) {
switch (type) {
case VALUE_CAR:
convertView = mInflater.inflate(R.layout.item_cars, null);
holder = new ViewHolder();
holder.tv_item_carnumber = (TextView) convertView.findViewById(R.id.tv_item_carnumber);
holder.iv_item_cars = (ImageView)convertView.findViewById(R.id.iv_item_cars);
holder.ll_item_cars = (LinearLayout)convertView.findViewById(R.id.ll_item_cars);
convertView.setTag(holder);
break;
case VALUE_ADD:
convertView = mInflater.inflate(R.layout.item_add, null);
viewAdd = new ViewAdd();
viewAdd.rl_add = (RelativeLayout)convertView.findViewById(R.id.rl_add);
convertView.setTag(viewAdd);
break;
}
} else {
switch (type) {
case VALUE_CAR:
holder = (ViewHolder) convertView.getTag();
break;
case VALUE_ADD:
viewAdd = (ViewAdd) convertView.getTag();
break;
}
}
switch (type) {
case VALUE_CAR:
CarData carData = carDatas.get(position);
holder.tv_item_carnumber.setText(carData.getObj_name());
if(carData.getLogoPath() == null || carData.getLogoPath().equals("")){
holder.iv_item_cars.setImageResource(R.drawable.body_nothing_icon);
}else{
Bitmap bitmap = BitmapFactory.decodeFile(carData.getLogoPath());
//Bitmap bitmap = BlurImage.decodeSampledBitmapFromPath(carData.getLogoPath(), 80, 80);
if(bitmap != null){
holder.iv_item_cars.setImageBitmap(bitmap);
}else{
holder.iv_item_cars.setImageResource(R.drawable.body_nothing_icon);
}
}
if(carData.isCheck()){
holder.ll_item_cars.setBackgroundResource(R.drawable.bg_car_logo);
}else{
holder.ll_item_cars.setBackgroundDrawable(null);
}
break;
}
return convertView;
}
@Override
public int getItemViewType(int position) {
return carDatas.get(position).getType();
}
private class ViewHolder {
TextView tv_item_carnumber;
ImageView iv_item_cars;
LinearLayout ll_item_cars;
}
private class ViewAdd{
RelativeLayout rl_add;
}
public void refresh(List<CarData> carDatas){
this.carDatas = carDatas;
this.notifyDataSetChanged();
}
}