package com.jiuqi.njt.adapter;
import java.util.List;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
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.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
import android.widget.TextView;
import com.jiuqi.njt.R;
import com.jiuqi.njt.data.WorkTaskBeanLocal;
import com.jiuqi.njt.ui.PostInfoGoodsActivity;
import com.jiuqi.njt.ui.PostInfoJobsActivityNew;
import com.jiuqi.njt.ui.PostInfoMachinesActivity;
import com.jiuqi.njt.util.ActivityUtil;
public class UploadAdapter extends BaseAdapter {
private List<WorkTaskBeanLocal> list;
private LayoutInflater inflater;
private boolean flag = false;
private int margin;
private int tmargin;
private int textsize;
private double width;
private Context context;
private OnInfoDeleteListener deleteListener;
public UploadAdapter(Context context,int width, List<WorkTaskBeanLocal> list) {
this.list = list;
this.context = context;
this.inflater = LayoutInflater.from(context);
margin = ActivityUtil.getWindowMargin(context);
this.width=width;
tmargin=(int) (width*0.05);
textsize=(int) (width*0.05);
deleteListener = (OnInfoDeleteListener) context;
}
@Override
public int getCount() {
return null == list ? 0 : list.size();
}
@Override
public Object getItem(int position) {
return null == list ? null : list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Holder holder = null;
if (null == convertView) {
// holder = new Holder();
// convertView = inflater.inflate(R.layout.item_upload_notification,
// null);
// convertView.setPadding(tmargin, margin, 0, margin);
// holder.title = (TextView) convertView
// .findViewById(R.id.upload_title);
// holder.msg = (TextView) convertView.findViewById(R.id.upload_msg);
// holder.BtnDelete = (Button) convertView.findViewById(R.id.bt_delete);
// holder.frontlay = (RelativeLayout) convertView.findViewById(R.id.front);
// convertView.setTag(holder);
holder = new Holder();
convertView = inflater.inflate(R.layout.item_upload,
null);
convertView.setPadding(tmargin, margin, 0, margin);
holder.title = (TextView) convertView
.findViewById(R.id.upload_title);
holder.msg = (TextView) convertView.findViewById(R.id.upload_msg);
holder.BtnDelete = (Button) convertView.findViewById(R.id.bt_delete);
// holder.rightlay = (LinearLayout) convertView.findViewById(R.id.rightLayout);
// holder.itemlayout = (RelativeLayout) convertView.findViewById(R.id.itemlayout);
convertView.setTag(holder);
} else {
holder = (Holder) convertView.getTag();
}
String state = list.get(position).getState()==0 ? "待完善" : "待上传" ;
switch (list.get(position).getPublishType()) {
case 1://作业
holder.title.setText(list.get(position).getNewsType().getName()+" "+list.get(position).getMus()+"亩"+" 状态:" + state);// 显示当前正在上传的任务
break;
case 2://求需
holder.title.setText(list.get(position).getGoodsType().getName()+" "+list.get(position).getGoodsName()+list.get(position).getCount()+"个"+" 状态:" + state);// 显示当前正在上传的任务
break;
case 3://农机
holder.title.setText(list.get(position).getCarTypeNew().getName()+" "+list.get(position).getMus()+"辆"+" 状态:" + state);// 显示当前正在上传的任务
break;
default:
break;
}
if (list.get(position).getState()==1) {// 如果是正在上传的数据
holder.msg.setText("正在上传...");
} else {
holder.msg.setText("等待上传...");
}
setDeleteButtonStyle(holder.BtnDelete);
holder.BtnDelete.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
deleteListener.onInfoDeleteClick(position );
}
});
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = null;
switch (list.get(position).getPublishType()) {
case 1:
intent = new Intent(
context,
PostInfoJobsActivityNew.class);
break;
case 2:
intent = new Intent(
context,
PostInfoGoodsActivity.class);
break;
case 3:
intent = new Intent(
context,
PostInfoMachinesActivity.class);
break;
default:
break;
}
Log.d("getPublishType", list.get(position).getPublishType() + "");
intent.putExtra("localbean", list.get(position));
context.startActivity(intent);
}
});
holder.title.setTextSize(0, textsize);
// holder.frontlay.setPadding(0, (int) (width * 0.01), 0,(int) (width * 0.01));
holder.msg.setTextSize(0, (float) (textsize * 0.8));
holder.msg.setPadding(0, (int) (width * 0.02), (int) (width * 0.01), 0);
return convertView;
}
private class Holder {
TextView title;
TextView msg;
Button BtnDelete;
// RelativeLayout frontlay;
// LinearLayout rightlay;
}
public void start(boolean b) {
flag = b;
}
/**
* 删除按钮样式
* @param btn
*/
public void setDeleteButtonStyle(Button btn){
RelativeLayout.LayoutParams btnLayoutParams = (LayoutParams) btn.getLayoutParams();
btnLayoutParams.width= (int) (ActivityUtil.width * 0.05);
btnLayoutParams.height= (int) (ActivityUtil.width * 0.1) ;
btnLayoutParams.rightMargin = (int)(ActivityUtil.width*0.05);
btnLayoutParams.leftMargin = (int)(ActivityUtil.width*0.05);
// btn.setPadding(0, 0, 0, (int)(ActivityUtil.width*0.1));
btn.setLayoutParams(btnLayoutParams);
// btn.setTextSize(android.util.TypedValue.COMPLEX_UNIT_PX, ActivityUtil.width*0.05f);
}
public abstract interface OnInfoDeleteListener {
public void onInfoDeleteClick(int position);
}
}