OffdutedAdapter.java 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. package com.yijia.handpos.adapter;
  2. import android.content.Context;
  3. import android.content.Intent;
  4. import android.view.LayoutInflater;
  5. import android.view.View;
  6. import android.view.ViewGroup;
  7. import android.widget.BaseAdapter;
  8. import android.widget.ImageView;
  9. import android.widget.LinearLayout;
  10. import android.widget.TextView;
  11. import android.widget.Toast;
  12. import com.yijia.handpos.R;
  13. import com.yijia.handpos.pojo.OffdutedItemBean;
  14. import com.yijia.handpos.ui.work.OffdutyedDetailActivity;
  15. import com.yijia.handpos.util.ConsUtil;
  16. import java.util.List;
  17. public class OffdutedAdapter extends BaseAdapter {
  18. private LayoutInflater mInflater;
  19. private Context mContext;
  20. private List<OffdutedItemBean> offdutedItemBeans;
  21. public OffdutedAdapter(Context context, List<OffdutedItemBean> mOffdutedItemBeans) {
  22. mInflater = LayoutInflater.from(context);
  23. mContext = context;
  24. offdutedItemBeans = mOffdutedItemBeans;
  25. }
  26. @Override
  27. public int getCount() {
  28. return offdutedItemBeans.size();
  29. }
  30. @Override
  31. public Object getItem(int position) {
  32. return offdutedItemBeans.get(position);
  33. }
  34. public long getItemId(int position) {
  35. return position;
  36. }
  37. //这个方法才是重点,我们要为它编写一个ViewHolder
  38. @Override
  39. public View getView(int position, View convertView, ViewGroup parent) {
  40. ViewHolder viewHolder = null;
  41. if (convertView == null) {
  42. viewHolder = new ViewHolder();
  43. convertView = LayoutInflater.from(mContext).inflate(R.layout.item_list_offdutyed, null);
  44. viewHolder.mLinearLayout=convertView.findViewById(R.id.ll_item);
  45. viewHolder.mClassNoTextView = convertView.findViewById(R.id.classesNo);
  46. viewHolder.mClassManTextView = convertView.findViewById(R.id.classesMan);
  47. viewHolder.mEndDateTextView = convertView.findViewById(R.id.endDate);
  48. viewHolder.mTodetailImageView = convertView.findViewById(R.id.todetail);
  49. convertView.setTag(viewHolder);
  50. } else {//else里面说明,convertView已经被复用了,说明convertView中已经设置过tag了,即holder
  51. viewHolder = (ViewHolder) convertView.getTag();
  52. }
  53. viewHolder.mClassNoTextView.setText(offdutedItemBeans.get(position).getClassesNo());
  54. viewHolder.mClassManTextView.setText(offdutedItemBeans.get(position).getClassMan());
  55. viewHolder.mEndDateTextView.setText(offdutedItemBeans.get(position).getEndDate());
  56. viewHolder.mTodetailImageView.setOnClickListener(v -> {
  57. Intent intent=new Intent(v.getContext(), OffdutyedDetailActivity.class);
  58. ConsUtil.classStructureNo=offdutedItemBeans.get(position).getClassesNo();
  59. v.getContext().startActivity(intent);
  60. });
  61. viewHolder.mLinearLayout.setOnClickListener(v -> {
  62. Intent intent=new Intent(v.getContext(), OffdutyedDetailActivity.class);
  63. ConsUtil.classStructureNo=offdutedItemBeans.get(position).getClassesNo();
  64. v.getContext().startActivity(intent);
  65. });
  66. return convertView;
  67. }
  68. //这个ViewHolder只能服务于当前这个特定的adapter,因为ViewHolder里会指定item的控件,不同的ListView,
  69. // item可能不同,所以ViewHolder写成一个私有的类
  70. private class ViewHolder {
  71. LinearLayout mLinearLayout;
  72. TextView mClassNoTextView;
  73. TextView mClassManTextView;
  74. TextView mEndDateTextView;
  75. ImageView mTodetailImageView;
  76. }
  77. }