package com.dreamspace.uucampus.adapter.Order; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.RelativeLayout; import android.widget.TextView; import com.dreamspace.uucampus.R; import com.dreamspace.uucampus.adapter.base.BasisAdapter; import com.dreamspace.uucampus.common.utils.CommonUtils; import com.dreamspace.uucampus.model.api.OrderItem; import com.dreamspace.uucampus.ui.activity.Order.OrderPayAct; import java.util.List; /** * Created by Lx on 2015/10/20. */ public class MyOrderListAdapter extends BasisAdapter<OrderItem,MyOrderListAdapter.ViewHolder>{ private Context mContext; private OnPayClickListener onPayClickListener; private OnCommentClickListener onCommentClickListener; public MyOrderListAdapter(Context mContext, List<OrderItem> mEntities, Class<ViewHolder> classType) { super(mContext, mEntities, classType); this.mContext = mContext; } @Override protected void setDataIntoView(ViewHolder holder, final OrderItem entity) { holder.shopName.setText(entity.getShop().getName()); holder.goodName.setText(entity.getGood().getName()); switch (entity.getStatus()){ case -1://退款中 holder.orderState.setText(mContext.getString(R.string.in_refund)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.app_theme_color2)); holder.btnRl.setVisibility(View.GONE); break; case 0://已取消 holder.orderState.setText(mContext.getString(R.string.already_refund)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.text_normal)); holder.btnRl.setVisibility(View.GONE); break; case 1://未支付 holder.orderState.setText(mContext.getString(R.string.not_pay_yet)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.app_theme_color2)); holder.btnRl.setVisibility(View.VISIBLE); holder.payTv.setVisibility(View.VISIBLE); holder.commentTv.setVisibility(View.INVISIBLE); holder.payTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //调用activity注册的回调 if(onPayClickListener != null){ onPayClickListener.onPayClick(entity.getGood().getName(),entity.get_id(), entity.getQuantity() * entity.getGood().getOriginal_price(),entity.getTotal_price()); } } }); break; case 2://未消费 holder.orderState.setText(mContext.getString(R.string.not_consume_yet)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.app_theme_color2)); holder.btnRl.setVisibility(View.GONE); break; case 3://已消费,未评价 holder.orderState.setText(mContext.getString(R.string.not_comment_yet)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.app_theme_color2)); holder.btnRl.setVisibility(View.VISIBLE); holder.payTv.setVisibility(View.GONE); holder.commentTv.setVisibility(View.VISIBLE); holder.commentTv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if(onCommentClickListener != null){ onCommentClickListener.onCommentClick(entity.get_id(),entity.getGood().get_id()); } } }); break; case 4://已评价 holder.orderState.setText(mContext.getString(R.string.already_comment)); holder.orderState.setTextColor(mContext.getResources().getColor(R.color.text_normal)); holder.btnRl.setVisibility(View.GONE); break; } holder.totalPrice.setText(mContext.getString(R.string.total_price) + (float)entity.getTotal_price() / 100); holder.num.setText(mContext.getString(R.string.num) + entity.getQuantity()); CommonUtils.showImageWithGlide(mContext,holder.orderImage,entity.getGood().getImage()); } @Override protected void initViewHolder(View convertView, ViewHolder holder) { holder.shopName = (TextView) convertView.findViewById(R.id.shop_name_tv); holder.goodName = (TextView) convertView.findViewById(R.id.good_name_tv); holder.orderState = (TextView) convertView.findViewById(R.id.order_state_tv); holder.orderImage = (ImageView) convertView.findViewById(R.id.order_image_iv); holder.totalPrice = (TextView) convertView.findViewById(R.id.total_price_tv); holder.num = (TextView) convertView.findViewById(R.id.num_tv); holder.btnRl = (RelativeLayout) convertView.findViewById(R.id.order_item_btn_rl); holder.payTv = (TextView) convertView.findViewById(R.id.pay_tv); holder.commentTv = (TextView) convertView.findViewById(R.id.comment_tv); } @Override public int getItemLayout() { return R.layout.list_item_my_order; } public void setOnPayClickListener(OnPayClickListener onPayClickListener) { this.onPayClickListener = onPayClickListener; } public void setOnCommentClickListener(OnCommentClickListener onCommentClickListener) { this.onCommentClickListener = onCommentClickListener; } public interface OnPayClickListener{ void onPayClick(String order_name,String order_id,int total_price,int rest_to_pay); } public interface OnCommentClickListener{ void onCommentClick(String order_id,String good_id); } public static class ViewHolder{ public TextView shopName; public TextView orderState; public ImageView orderImage; public TextView goodName; public TextView totalPrice; public TextView num; public RelativeLayout btnRl; public TextView payTv; public TextView commentTv; } }