CabinetBannerAdapter.java 6.8 KB

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