MyOrderAdapter.java 7.93 KB
package com.fish.drp.div;

import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;

import com.alibaba.fastjson.JSON;
import com.drp.R;
import com.drp.mobliemall.ui.activity.order.MyOrderActivity;
import com.drp.mobliemall.ui.activity.order.OrderDetailActivity;
import com.drp.mobliemall.utils.DialogUtil;
import com.xiniunet.sdk.drp.domain.Order;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MyOrderAdapter extends BaseAdapter {
    Context mContext;
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    private int selectedIndex;
    private List<Order> datas = new ArrayList<Order>();

    public MyOrderAdapter(Context context, int selectIndex, List<Order> orderList) {
        datas = orderList;
        mContext = context;
        this.selectedIndex = selectIndex;

    }



  /*  public void setData(List<Order> list) {
        datas = list;
    }

    public List<Order> getDatas() {
        if (datas != null && datas.size() > 0) {
            return datas;
        } else {
            return null;
        }

    }*/

    public int getCount() {
        return datas.size();
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        final Order bean = datas.get(position);
        View view = null;
        ViewHolder holder = new ViewHolder();
        if (convertView == null) {
            view = View.inflate(mContext, R.layout.adapt_my_order_item, null);
            holder.llTitle = (RelativeLayout) view.findViewById(R.id.ll_order_detail);
            holder.tvNO = (TextView) view.findViewById(R.id.tv_order_no);
            holder.tvTime = (TextView) view.findViewById(R.id.tv_orderTime);
            holder.tvPayType = (TextView) view.findViewById(R.id.tv_orderType);
            holder.tvTransType = (TextView) view.findViewById(R.id.tv_dispatchType);
            holder.tvState = (TextView) view.findViewById(R.id.tv_orderState);
            holder.btleft = (Button) view.findViewById(R.id.bt_item_cancel);
            holder.btright = (Button) view.findViewById(R.id.bt_item_submit);
            holder.tvBackState = (TextView) view.findViewById(R.id.tv_backState);
            holder.img = (ImageView) view.findViewById(R.id.img_order_title);

            holder.tvOrderState = (TextView) view.findViewById(R.id.tv_order_state);
            view.setTag(holder);
        } else {
            view = convertView;
            holder = (ViewHolder) view.getTag();
        }
        holder.llTitle.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                Intent it = new Intent(mContext, OrderDetailActivity.class);
                it.putExtra("orderid", bean.getId());
                ((Activity) mContext).startActivityForResult(it, MyOrderActivity.Request_Code);
            }
        });
        holder.tvTime.setText(bean.getOrderNumber());
        holder.tvNO.setText(formatter.format(bean.getOrderTime() != null ? bean.getOrderTime() : new Date()));
        holder.tvPayType.setText(String.valueOf(bean.getTotalAmount()));
        holder.tvTransType.setText(String.valueOf(bean.getTotalCount()));

        if (bean.getStatus().equals("ORDER_PLACED")) {
            holder.tvOrderState.setText("待付款");
            holder.btleft.setVisibility(View.VISIBLE);
            holder.btleft.setText("取消订单");
            holder.btleft.setBackgroundResource(R.mipmap.cancel_bt);


            holder.btleft.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View arg0) {
                    final Dialog dialog = DialogUtil.getCustomeDilogForNormal((Activity) mContext);
                    TextView title = (TextView) dialog.findViewById(R.id.dialog_title);
                    title.setText(R.string.cancle_order);
                    dialog.show();
                    TextView cancel = (TextView) dialog.findViewById(R.id.custom_cancel);
                    cancel.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            dialog.cancel();
                        }
                    });
                    TextView confrim = (TextView) dialog.findViewById(R.id.custom_confrim);
                    confrim.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            dialog.cancel();
                            List<Long> list = new ArrayList<Long>();
                            list.add(bean.getId());
                            ((MyOrderActivity) mContext).cancelOrder(list, selectedIndex);

                        }
                    });
                }
            });

            holder.btright.setVisibility(View.VISIBLE);
            holder.btright.setBackgroundResource(R.mipmap.submit_bt);
            holder.btright.setText("付款");
            holder.btright.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                   // Log.i("sssssssss","Order======>"+ JSON.toJSONString(bean));
                    ((MyOrderActivity) mContext).toPay(bean.getId(),bean.getOrderLineList(),bean.getTotalAmount() ,selectedIndex);
                }
            });
            holder.tvBackState.setVisibility(View.GONE);
        } else if (bean.getStatus().

                equals("ORDER_PAID")

                )

        {
            holder.tvOrderState.setText("待发货");
            holder.btleft.setVisibility(View.GONE);
            holder.btleft.setText("取消订单");
            holder.btleft.setBackgroundResource(R.mipmap.cancel_bt);
            holder.btright.setVisibility(View.VISIBLE);
            holder.btright.setBackgroundResource(R.mipmap.submit_bt);
            holder.btright.setText("订单详情");
            holder.btright.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent it = new Intent(mContext, OrderDetailActivity.class);
                    it.putExtra("orderid", bean.getId());
                    ((Activity) mContext).startActivityForResult(it, MyOrderActivity.Request_Code);
                }
            });
        } else if (bean.getStatus().

                equals("ORDER_SHIPPED")

                )

        {
            holder.tvOrderState.setText("已发货");
            holder.btleft.setVisibility(View.GONE);
            holder.btleft.setText("取消订单");
            holder.btleft.setBackgroundResource(R.mipmap.cancel_bt);
            holder.btright.setVisibility(View.VISIBLE);
            holder.btright.setBackgroundResource(R.mipmap.yellow_bt);
            holder.btright.setText("订单详情");
            holder.btright.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent it = new Intent(mContext, OrderDetailActivity.class);
                    it.putExtra("orderid", bean.getId());
                    ((Activity) mContext).startActivityForResult(it, MyOrderActivity.Request_Code);
                }
            });
        }


        return view;
    }

    public Object getItem(int position) {
        return datas.get(position);
    }

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

class ViewHolder {
    RelativeLayout llTitle;
    TextView tvNO, tvTime, tvPayType, tvTransType, tvState, tvBackState, tvOrderState;
    Button btleft, btright;
    ImageView img;
}