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); } }