CabinetBannerAdapter.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. package xn.hxp.ui.adapter;
  2. import android.text.TextUtils;
  3. import android.view.View;
  4. import android.widget.RelativeLayout;
  5. import androidx.appcompat.widget.AppCompatTextView;
  6. import com.rc.httpcore.bean.AdminVoListBean;
  7. import com.rc.httpcore.bean.CabinetDoorVo;
  8. import com.rc.httpcore.bean.RuleBean;
  9. import com.zhpan.bannerview.BaseBannerAdapter;
  10. import com.zhpan.bannerview.BaseViewHolder;
  11. import com.zhpan.bannerview.utils.BannerUtils;
  12. import java.util.HashMap;
  13. import java.util.List;
  14. import java.util.Map;
  15. import xn.hxp.R;
  16. import xn.hxp.app.ChemicalApp;
  17. import xn.hxp.ui.inquiry.InquiryActivity;
  18. import xn.hxp.utils.UiManager;
  19. public class CabinetBannerAdapter extends BaseBannerAdapter<RuleBean> {
  20. private final StringBuffer stringBuffer = new StringBuffer();
  21. private VerifyCallBack callBack;
  22. public CabinetBannerAdapter(VerifyCallBack callBack) {
  23. this.callBack = callBack;
  24. }
  25. public interface VerifyCallBack {
  26. void login();
  27. }
  28. @Override
  29. protected void bindData(BaseViewHolder<RuleBean> holder, RuleBean data, int position, int pageSize) {
  30. int adapterPosition = holder.getAdapterPosition();
  31. int realPosition = BannerUtils.getRealPosition(position, adapterPosition);
  32. List<CabinetDoorVo> cabinetDoorList = data.getCabinetDoorVoList();
  33. // 柜门名字
  34. AppCompatTextView cabinetNameTV = holder.findViewById(R.id.cabinetName);
  35. cabinetNameTV.setText(data.getCabinetName());
  36. // 左柜门布局
  37. RelativeLayout doorRLL = holder.findViewById(R.id.doorRLL);
  38. doorRLL.setOnClickListener(new View.OnClickListener() {
  39. @Override
  40. public void onClick(View v) {
  41. if (ChemicalApp.userData != null) {
  42. CabinetDoorVo cabinetDoor = cabinetDoorList.get(0);
  43. Map<String, Object> map = new HashMap<>();
  44. map.put("logIn", 1);
  45. map.put("cabinetId", cabinetDoor.getCabinetId());
  46. map.put("doorId", cabinetDoor.getDoorUniqueId());
  47. UiManager.INSTANCE.switcher(holder.itemView.getContext(), map, InquiryActivity.class);
  48. } else {
  49. callBack.login();
  50. }
  51. }
  52. });
  53. // 右柜门布局
  54. RelativeLayout doorRLR = holder.findViewById(R.id.doorRLR);
  55. doorRLR.setOnClickListener(new View.OnClickListener() {
  56. @Override
  57. public void onClick(View v) {
  58. if (ChemicalApp.userData != null) {
  59. CabinetDoorVo cabinetDoor = cabinetDoorList.get(1);
  60. Map<String, Object> map = new HashMap<>();
  61. map.put("logIn", 1);
  62. map.put("cabinetId", cabinetDoor.getCabinetId());
  63. map.put("doorId", cabinetDoor.getDoorUniqueId());
  64. UiManager.INSTANCE.switcher(holder.itemView.getContext(), map, InquiryActivity.class);
  65. } else {
  66. callBack.login();
  67. }
  68. }
  69. });
  70. if (null != cabinetDoorList && !cabinetDoorList.isEmpty()) {
  71. // 左柜门
  72. doorRLL.setVisibility(View.VISIBLE);
  73. CabinetDoorVo cabinetDoorL = cabinetDoorList.get(0);
  74. // 左柜门名字
  75. AppCompatTextView doorName1 = holder.findViewById(R.id.doorName1);
  76. doorName1.setText(TextUtils.isEmpty(cabinetDoorL.getDoorName()) ? "" : cabinetDoorL.getDoorName());
  77. // 左柜门化学品总数
  78. AppCompatTextView doorHxpSize1 = holder.findViewById(R.id.doorHxpSize1);
  79. doorHxpSize1.setText(String.valueOf(cabinetDoorL.getStockNum()));
  80. // 左柜门管理员
  81. AppCompatTextView doorAdmin1 = holder.findViewById(R.id.doorAdmin1);
  82. List<AdminVoListBean> cabinetDoorAdminLList = cabinetDoorL.getCabinetAdminVoList();
  83. if (null != cabinetDoorAdminLList && !cabinetDoorAdminLList.isEmpty()) {
  84. stringBuffer.setLength(0);
  85. for (int i = 0; i < cabinetDoorAdminLList.size(); i++) {
  86. AdminVoListBean cabinetDoorAdmin = cabinetDoorAdminLList.get(i);
  87. String userName = cabinetDoorAdmin.getUserName();
  88. if (!TextUtils.isEmpty(userName)) {
  89. stringBuffer.append(userName);
  90. if (i != cabinetDoorAdminLList.size() - 1) { // 不是最后一个元素
  91. stringBuffer.append("\n"); // 添加分隔符
  92. }
  93. }
  94. }
  95. doorAdmin1.setText(stringBuffer.toString());
  96. } else {
  97. doorAdmin1.setText("");
  98. }
  99. if (cabinetDoorList.size() > 1) {
  100. // 右柜门
  101. doorRLR.setVisibility(View.VISIBLE);
  102. CabinetDoorVo cabinetDoorR = cabinetDoorList.get(1);
  103. // 右柜门名字
  104. AppCompatTextView doorName2 = holder.findViewById(R.id.doorName2);
  105. doorName2.setText(TextUtils.isEmpty(cabinetDoorR.getDoorName()) ? "" : cabinetDoorR.getDoorName());
  106. // 右柜门化学品总数
  107. AppCompatTextView doorHxpSize2 = holder.findViewById(R.id.doorHxpSize2);
  108. doorHxpSize2.setText(String.valueOf(cabinetDoorR.getStockNum()));
  109. // 右柜门管理员
  110. AppCompatTextView doorAdmin2 = holder.findViewById(R.id.doorAdmin2);
  111. List<AdminVoListBean> cabinetDoorAdminRList = cabinetDoorR.getCabinetAdminVoList();
  112. if (null != cabinetDoorAdminRList && !cabinetDoorAdminRList.isEmpty()) {
  113. stringBuffer.setLength(0);
  114. for (int i = 0; i < cabinetDoorAdminRList.size(); i++) {
  115. AdminVoListBean cabinetDoorAdmin = cabinetDoorAdminRList.get(i);
  116. String userName = cabinetDoorAdmin.getUserName();
  117. if (!TextUtils.isEmpty(userName)) {
  118. stringBuffer.append(userName);
  119. if (i != cabinetDoorAdminRList.size() - 1) { // 不是最后一个元素
  120. stringBuffer.append("\n"); // 添加分隔符
  121. }
  122. }
  123. }
  124. doorAdmin2.setText(stringBuffer.toString());
  125. } else {
  126. doorAdmin2.setText("");
  127. }
  128. } else {
  129. doorRLR.setVisibility(View.GONE);
  130. }
  131. } else {
  132. doorRLL.setVisibility(View.GONE);
  133. doorRLR.setVisibility(View.GONE);
  134. }
  135. }
  136. @Override
  137. public int getLayoutId(int viewType) {
  138. return R.layout.fragment_main_cabinet;
  139. }
  140. }