package com.withiter.quhao.adapter; import java.util.List; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.RelativeLayout; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.withiter.quhao.R; import com.withiter.quhao.activity.CreateCommentActivity; import com.withiter.quhao.activity.MerchantDetailActivity; import com.withiter.quhao.activity.QuhaoHistoryStatesActivity; import com.withiter.quhao.util.StringUtils; import com.withiter.quhao.util.tool.AsynImageLoader; import com.withiter.quhao.util.tool.ProgressDialogUtil; import com.withiter.quhao.vo.ReservationVO; public class ReservationForHistoryPaiduiAdapter extends BaseAdapter { private ListView listView; public List<ReservationVO> rvos; private QuhaoHistoryStatesActivity activity; public String isShowDelete; private ProgressDialogUtil progress; private DisplayImageOptions options = null; private ImageLoadingListener animateFirstListener; public ReservationForHistoryPaiduiAdapter(QuhaoHistoryStatesActivity activity, ListView listView, List<ReservationVO> rvos,DisplayImageOptions options,ImageLoadingListener animateFirstListener) { super(); this.activity = activity; this.listView = listView; this.rvos = rvos; this.isShowDelete = "false"; this.options = options; this.animateFirstListener = animateFirstListener; } @Override public int getCount() { return rvos.size(); } @Override public Object getItem(int position) { return rvos.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ReservationVO rvo = (ReservationVO) getItem(position); synchronized (rvo) { ViewHolderHistoryPaidui holder = null; if (convertView == null) { holder = new ViewHolderHistoryPaidui(); LayoutInflater inflator = (LayoutInflater) parent.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); convertView = inflator.inflate(R.layout.paidui_history_list_item, null); holder.merchantImg = (ImageView) convertView.findViewById(R.id.merchantImg); holder.merchantName = (TextView) convertView.findViewById(R.id.merchantName); holder.commentBtn = (Button) convertView.findViewById(R.id.btn_comment); holder.isComment = (TextView) convertView.findViewById(R.id.is_comment); holder.cb = (CheckBox) convertView.findViewById(R.id.item_cb); holder.cbLayout = (LinearLayout) convertView.findViewById(R.id.cb_layout); holder.date = (TextView) convertView.findViewById(R.id.date); holder.youhuiLayout = (RelativeLayout) convertView.findViewById(R.id.youhui_layout); holder.paiduiLayout = (RelativeLayout) convertView.findViewById(R.id.paidui_layout); } if (holder == null) { holder = (ViewHolderHistoryPaidui) convertView.getTag(); } if("true".equals(isShowDelete)) { holder.cbLayout.setVisibility(View.VISIBLE); holder.cb.setVisibility(View.VISIBLE); holder.cb.setChecked("true".equals(rvo.isChecked)); } else { holder.cbLayout.setVisibility(View.GONE); holder.cb.setVisibility(View.GONE); } final String merchantId = rvo.merchantId; // if merchant has no image, set no_logo as default if(StringUtils.isNull(rvo.merchantImage)){ holder.merchantImg.setImageResource(R.drawable.no_logo); } if (rvo.youhui) { holder.youhuiLayout.setVisibility(View.VISIBLE); } else { holder.youhuiLayout.setVisibility(View.GONE); } String merchantImg = rvo.merchantImageBig; // holder.merchantImg.setImageResource(R.drawable.no_logo); // AsynImageLoader.getInstance().showImageAsyn(holder.merchantImg,position, merchantImg, R.drawable.no_logo); ImageLoader.getInstance().displayImage(merchantImg, holder.merchantImg, options, animateFirstListener); holder.paiduiLayout.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(activity, MerchantDetailActivity.class); intent.putExtra("merchantId", merchantId); activity.startActivity(intent); } }); /* holder.merchantImg.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { progress = new ProgressDialogUtil(activity, R.string.empty, R.string.waitting, false); progress.showProgress(); Intent intent = new Intent(activity, MerchantDetailActivity.class); intent.putExtra("merchantId", merchantId); activity.startActivity(intent); progress.closeProgress(); } }); */ holder.merchantName.setTag("merchantNamer_" + position); holder.merchantName.setText(rvo.merchantName); holder.date.setTag("date_" + position); holder.date.setText(rvo.created); if(rvo.isCommented) { holder.isComment.setVisibility(View.GONE); // holder.commentBtn.setVisibility(View.GONE); holder.commentBtn.setVisibility(View.VISIBLE); holder.commentBtn.setBackgroundResource(R.drawable.btn_commented); // holder.commentBtn.setEnabled(false); // holder.isComment.setText("已评价"); final String reservationId = rvo.rId; holder.commentBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { progress = new ProgressDialogUtil(activity, R.string.empty, R.string.waitting, false); progress.showProgress(); try { Intent intent = new Intent(); intent.putExtra("rId", reservationId); intent.putExtra("isCommented", "true"); intent.setClass(activity, CreateCommentActivity.class); activity.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } finally { progress.closeProgress(); } } }); } else { holder.isComment.setVisibility(View.VISIBLE); holder.commentBtn.setVisibility(View.GONE); String status = rvo.status; if ("canceled".equals(status)) { holder.isComment.setText("取消记录不能评价"); } else if("expired".equals(status)) { holder.isComment.setText("过期记录不能评价"); } else if("finished".equals(status)) { holder.isComment.setVisibility(View.GONE); holder.commentBtn.setVisibility(View.VISIBLE); holder.commentBtn.setEnabled(true); holder.commentBtn.setBackgroundResource(R.drawable.btn_comment); final String reservationId = rvo.rId; holder.commentBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { progress = new ProgressDialogUtil(activity, R.string.empty, R.string.waitting, false); progress.showProgress(); try { Intent intent = new Intent(); intent.putExtra("rId", reservationId); intent.putExtra("isCommented", "false"); intent.setClass(activity, CreateCommentActivity.class); activity.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } finally { progress.closeProgress(); } } }); } else { holder.isComment.setVisibility(View.GONE); holder.commentBtn.setVisibility(View.GONE); } } convertView.setTag(holder); return convertView; } } }