PlanAdapter.java 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. package com.example.chemical.ui.plan;
  2. import android.content.Context;
  3. import android.text.TextUtils;
  4. import android.util.Log;
  5. import android.view.LayoutInflater;
  6. import android.view.View;
  7. import android.view.ViewGroup;
  8. import android.widget.BaseAdapter;
  9. import com.blankj.utilcode.util.LogUtils;
  10. import com.example.chemical.databinding.ItemInStorageBinding;
  11. import com.example.chemical.ui.plan.room.RoomTool;
  12. import com.example.chemical.ui.plan.room.dao.HxpInventoryDAO;
  13. import com.rc.httpcore.bean.HxpChemicalVo;
  14. import com.example.chemical.ui.plan.room.bean.input_add.InventoryItemBean;
  15. import java.util.List;
  16. public class PlanAdapter extends BaseAdapter {
  17. private List<InventoryItemBean> inventoryItemBeanList;
  18. private final Context context;
  19. private HxpInventoryDAO hxpInventoryDAO;
  20. public PlanAdapter(Context context, List<InventoryItemBean> inventoryItemBeanList) {
  21. this.inventoryItemBeanList = inventoryItemBeanList;
  22. this.context = context;
  23. hxpInventoryDAO = RoomTool.getInstance().hxpInventoryDAO();
  24. }
  25. @Override
  26. public int getCount() {
  27. return inventoryItemBeanList.size();
  28. }
  29. @Override
  30. public InventoryItemBean getItem(int position) {
  31. return inventoryItemBeanList.get(position);
  32. }
  33. @Override
  34. public long getItemId(int position) {
  35. return 0;
  36. }
  37. @Override
  38. public View getView(int position, View convertView, ViewGroup parent) {
  39. ViewHolder viewHolder;
  40. if (convertView == null) {
  41. ItemInStorageBinding binding = ItemInStorageBinding.inflate(LayoutInflater.from(context), parent, false);
  42. convertView = binding.getRoot();
  43. viewHolder = new ViewHolder(binding);
  44. convertView.setTag(viewHolder);
  45. binding.itemDelIV.setOnClickListener(v -> {
  46. InventoryItemBean inventoryItemBean = inventoryItemBeanList.get(position);
  47. LogUtils.json(inventoryItemBean);
  48. LogUtils.json(inventoryItemBeanList);
  49. LogUtils.json(hxpInventoryDAO.getAll());
  50. for (int i = 0; i < inventoryItemBeanList.size(); i++) {
  51. InventoryItemBean inventoryItem = inventoryItemBeanList.get(i);
  52. if (inventoryItem.getId() == inventoryItemBean.getId()) {
  53. inventoryItemBeanList.remove(i);
  54. hxpInventoryDAO.delete(inventoryItemBean.getId());
  55. notifyDataSetChanged();
  56. return;
  57. }
  58. }
  59. });
  60. } else {
  61. viewHolder = (ViewHolder) convertView.getTag();
  62. }
  63. try {
  64. InventoryItemBean inventoryItemBean = getItem(position);
  65. HxpChemicalVo hxpChemicalVo = inventoryItemBean.getHxpChemicalVo();
  66. ItemInStorageBinding binding = viewHolder.binding;
  67. // 化学品名字
  68. String chemicalName = hxpChemicalVo.getChemicalName();
  69. binding.itemNameTV.setText(TextUtils.isEmpty(chemicalName) ? "" : chemicalName);
  70. // cas
  71. String casNum = hxpChemicalVo.getCasNum();
  72. binding.casTV.setText(TextUtils.isEmpty(casNum) ? "" : casNum);
  73. // 化学品类型
  74. String chemicalCategoryName = hxpChemicalVo.getChemicalCategoryName();
  75. binding.itemTypeTV.setText(TextUtils.isEmpty(chemicalCategoryName) ? "" : chemicalCategoryName);
  76. // 管控非管控
  77. int chemicalLevel = hxpChemicalVo.getChemicalLevel();
  78. binding.itemLevelTV.setText(chemicalLevel == 1 ? "管控" : "非管控");
  79. // 规格
  80. double specNum = hxpChemicalVo.getSpecNum();
  81. String specUnit = hxpChemicalVo.getSpecUnit();
  82. binding.itemNormsTV.setText(specNum + (TextUtils.isEmpty(specUnit) ? "" : specUnit));
  83. // 净含量
  84. double netWt = hxpChemicalVo.getNetContent();
  85. binding.itemNetWtTV.setText(netWt + (TextUtils.isEmpty(specUnit) ? "" : specUnit));
  86. // 数量
  87. int packNum = inventoryItemBean.getSize();
  88. binding.itemNumTV.setText(TextUtils.isEmpty(String.valueOf(packNum)) ? "" : String.valueOf(packNum));
  89. } catch (Exception e) {
  90. LogUtils.e(Log.getStackTraceString(e));
  91. }
  92. return convertView;
  93. }
  94. static class ViewHolder {
  95. ItemInStorageBinding binding;
  96. public ViewHolder(ItemInStorageBinding binding) {
  97. this.binding = binding;
  98. }
  99. }
  100. }