package com.yijia.handpos.adapter; import android.content.Context; import android.content.Intent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import com.yijia.handpos.R; import com.yijia.handpos.pojo.OffdutedItemBean; import com.yijia.handpos.ui.work.OffdutyedDetailActivity; import com.yijia.handpos.util.ConsUtil; import java.util.List; public class OffdutedAdapter extends BaseAdapter { private LayoutInflater mInflater; private Context mContext; private List offdutedItemBeans; public OffdutedAdapter(Context context, List mOffdutedItemBeans) { mInflater = LayoutInflater.from(context); mContext = context; offdutedItemBeans = mOffdutedItemBeans; } @Override public int getCount() { return offdutedItemBeans.size(); } @Override public Object getItem(int position) { return offdutedItemBeans.get(position); } public long getItemId(int position) { return position; } //这个方法才是重点,我们要为它编写一个ViewHolder @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (convertView == null) { viewHolder = new ViewHolder(); convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list_offdutyed, null); viewHolder.mLinearLayout=convertView.findViewById(R.id.ll_item); viewHolder.mClassNoTextView = convertView.findViewById(R.id.classesNo); viewHolder.mClassManTextView = convertView.findViewById(R.id.classesMan); viewHolder.mEndDateTextView = convertView.findViewById(R.id.endDate); viewHolder.mTodetailImageView = convertView.findViewById(R.id.todetail); convertView.setTag(viewHolder); } else {//else里面说明,convertView已经被复用了,说明convertView中已经设置过tag了,即holder viewHolder = (ViewHolder) convertView.getTag(); } viewHolder.mClassNoTextView.setText(offdutedItemBeans.get(position).getClassesNo()); viewHolder.mClassManTextView.setText(offdutedItemBeans.get(position).getClassMan()); viewHolder.mEndDateTextView.setText(offdutedItemBeans.get(position).getEndDate()); viewHolder.mTodetailImageView.setOnClickListener(v -> { Intent intent=new Intent(v.getContext(), OffdutyedDetailActivity.class); ConsUtil.classStructureNo=offdutedItemBeans.get(position).getClassesNo(); v.getContext().startActivity(intent); }); viewHolder.mLinearLayout.setOnClickListener(v -> { Intent intent=new Intent(v.getContext(), OffdutyedDetailActivity.class); ConsUtil.classStructureNo=offdutedItemBeans.get(position).getClassesNo(); v.getContext().startActivity(intent); }); return convertView; } //这个ViewHolder只能服务于当前这个特定的adapter,因为ViewHolder里会指定item的控件,不同的ListView, // item可能不同,所以ViewHolder写成一个私有的类 private class ViewHolder { LinearLayout mLinearLayout; TextView mClassNoTextView; TextView mClassManTextView; TextView mEndDateTextView; ImageView mTodetailImageView; } }