package com.renren.api.connect.android.pay.view;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import com.renren.api.connect.android.R;
import com.renren.api.connect.android.pay.bean.PayOrder;
import com.renren.api.connect.android.pay.impl.RenrenPay;
import android.graphics.Color;
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.LinearLayout;
import android.widget.TextView;
public class PayRepaiListAdapter extends BaseAdapter {
private ArrayList<RepairListItem> items = new ArrayList<RepairListItem>();
@Override
public int getCount() {
if (items != null) {
return items.size();
}
return 0;
}
public PayRepaiListAdapter(List<PayOrder> orders) {
super();
if (orders != null) {
for (PayOrder o : orders) {
items.add(new RepairListItem(o));
}
}
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
if (items != null && position >= 0 && position < items.size()) {
return items.get(position);
}
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(int position, View convertView, final ViewGroup parent) {
if (items != null && position >= 0 && position < items.size()) {
View itemView = LayoutInflater.from(parent.getContext()).inflate(
R.layout.renren_sdk_pay_repair_item, null);
final RepairListItem item = items.get(position);
TextView orderNumView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_order_num);
TextView desView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_des);
TextView bidView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_bid);
TextView timeView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_time);
TextView amountView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_amount);
TextView statusView = (TextView) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_status);
Button repairBtn = (Button) itemView
.findViewById(R.id.renren_sdk_pay_repair_item_repair_button);
orderNumView.setText(item.getOrderNumber());
desView.setText(item.getOrderDes());
bidView.setText(item.getOrderBid());
timeView.setText(item.getOrderTime());
amountView.setText(item.getOrderAmount());
statusView.setText(item.getOrderStatus());
//如果订单失败,则设置红色醒目
if(!item.getOrder().isSuccess())
{
statusView.setTextColor(Color.RED);
}
repairBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
RenrenPay.getInstance().repairOrder(parent.getContext(),
item.getOrder());
} catch (Exception e) {
e.printStackTrace();// do nothing
}
}
});
convertView = itemView;
}
return convertView;
}
class RepairListItem {
public String getOrderNumber() {
return orderNumber;
}
public void setOrderNumber(String orderNumber) {
this.orderNumber = orderNumber;
}
public String getOrderDes() {
return orderDes;
}
public void setOrderDes(String orderDes) {
this.orderDes = orderDes;
}
public String getOrderBid() {
return orderBid;
}
public void setOrderBid(String orderBid) {
this.orderBid = orderBid;
}
public String getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(String orderAmount) {
this.orderAmount = orderAmount;
}
public String getOrderStatus() {
return orderStatus;
}
public void setOrderStatus(String orderStatus) {
this.orderStatus = orderStatus;
}
public String getOrderTime() {
return orderTime;
}
public void setOrderTime(String orderTime) {
this.orderTime = orderTime;
}
private String orderNumber;
private String orderDes;
private String orderBid;
private String orderAmount;
private String orderStatus;
private String orderTime;
private PayOrder order;
public PayOrder getOrder() {
return order;
}
public RepairListItem(PayOrder order) {
this.order = order;
orderNumber = order.getOrderNumber();
orderDes = order.getDescr();
if ((orderBid = order.getBid()) == null || orderBid.equals("")) {
orderBid = "未获得流水号";
}
orderAmount = String.valueOf(order.getAmount());
orderStatus = order.isSuccess() ? "订单成功" : "订单失败";
orderTime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(order.getOrderTime());
}
}
}