RePrintAdapter.java 2.87 KB
package com.ectrip.cyt.adapter;

import java.util.List;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.TextView;

import com.ectrip.cyt.response.OrderConsumedItem;
import com.ectrip.trips.check.R;

/**
 * @author jigo 补打adapter
 */
public class RePrintAdapter extends BaseAdapter {

	private List<OrderConsumedItem> items;
	private Context context;
	private List<Integer> rePrintList;

	public RePrintAdapter(Context context, List<OrderConsumedItem> items,
						  List<Integer> rePrintList) {
		this.items = items;
		this.context = context;
		this.rePrintList = rePrintList;
	}

	@Override
	public int getCount() {
		if (items != null) {
			return items.size();
		}
		return 0;
	}

	@Override
	public OrderConsumedItem getItem(int position) {
		if (items != null) {
			return items.get(position);
		}
		return null;
	}

	@Override
	public long getItemId(int position) {
		return position;
	}

	@Override
	public View getView(final int position, View convertView, ViewGroup parent) {
		ViewHold hold;
		if (convertView == null) {
			hold = new ViewHold();
			convertView = View.inflate(context, R.layout.item_order_consumed,
					null);
			hold.orderDetailIdText = (TextView) convertView
					.findViewById(R.id.orderDetailIdText);
			hold.timeConsumedText = (TextView) convertView
					.findViewById(R.id.timeConsumedText);
			hold.moneyText = (TextView) convertView
					.findViewById(R.id.moneyText);
			hold.check = (CheckBox) convertView.findViewById(R.id.check);
			convertView.setTag(hold);
		} else {
			hold = (ViewHold) convertView.getTag();
		}
		if (getItem(position) != null) {
			hold.orderDetailIdText.setText(getItem(position).getOrderDetailId()
					+ "");
			if (getItem(position).getConsumedTime() != null) {
				hold.timeConsumedText.setText(getItem(position)
						.getConsumedTime());
			}
			hold.moneyText.setText(getItem(position).getConsumedQuantity() + "");
			hold.check
					.setOnCheckedChangeListener(new OnCheckedChangeListener() {
						@Override
						public void onCheckedChanged(CompoundButton buttonView,
													 boolean isChecked) {
							if (isChecked) {
								rePrintList.add(new Integer(position));
							} else {
								if (rePrintList.contains(new Integer(position))) {
									rePrintList.remove(rePrintList.indexOf(new Integer(position)));
								}
							}
						}
					});
		}
		if(rePrintList.contains(new Integer(position))){
			hold.check.setChecked(true);
		}else{
			hold.check.setChecked(false);
		}
		return convertView;
	}

	class ViewHold {
		private TextView orderDetailIdText; // 流水号
		private TextView timeConsumedText; // 消费时间
		private TextView moneyText; // 消费金额
		private CheckBox check;// 选择
	}

}