123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153 |
- package xn.hxp.ui.adapter;
- import android.text.TextUtils;
- import android.view.View;
- import android.widget.RelativeLayout;
- import androidx.appcompat.widget.AppCompatTextView;
- import com.rc.httpcore.bean.AdminVoListBean;
- import com.rc.httpcore.bean.CabinetDoorVo;
- import com.rc.httpcore.bean.RuleBean;
- import com.zhpan.bannerview.BaseBannerAdapter;
- import com.zhpan.bannerview.BaseViewHolder;
- import com.zhpan.bannerview.utils.BannerUtils;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import xn.hxp.R;
- import xn.hxp.app.ChemicalApp;
- import xn.hxp.ui.inquiry.InquiryActivity;
- import xn.hxp.utils.UiManager;
- public class CabinetBannerAdapter extends BaseBannerAdapter<RuleBean> {
- private final StringBuffer stringBuffer = new StringBuffer();
- private VerifyCallBack callBack;
- public CabinetBannerAdapter(VerifyCallBack callBack) {
- this.callBack = callBack;
- }
- public interface VerifyCallBack {
- void login();
- }
- @Override
- protected void bindData(BaseViewHolder<RuleBean> holder, RuleBean data, int position, int pageSize) {
- int adapterPosition = holder.getAdapterPosition();
- int realPosition = BannerUtils.getRealPosition(position, adapterPosition);
- List<CabinetDoorVo> cabinetDoorList = data.getCabinetDoorVoList();
- // 柜门名字
- AppCompatTextView cabinetNameTV = holder.findViewById(R.id.cabinetName);
- cabinetNameTV.setText(data.getCabinetName());
- // 左柜门布局
- RelativeLayout doorRLL = holder.findViewById(R.id.doorRLL);
- doorRLL.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (ChemicalApp.userData != null) {
- CabinetDoorVo cabinetDoor = cabinetDoorList.get(0);
- Map<String, Object> map = new HashMap<>();
- map.put("logIn", 1);
- map.put("cabinetId", cabinetDoor.getCabinetId());
- map.put("doorId", cabinetDoor.getDoorUniqueId());
- UiManager.INSTANCE.switcher(holder.itemView.getContext(), map, InquiryActivity.class);
- } else {
- callBack.login();
- }
- }
- });
- // 右柜门布局
- RelativeLayout doorRLR = holder.findViewById(R.id.doorRLR);
- doorRLR.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (ChemicalApp.userData != null) {
- CabinetDoorVo cabinetDoor = cabinetDoorList.get(1);
- Map<String, Object> map = new HashMap<>();
- map.put("logIn", 1);
- map.put("cabinetId", cabinetDoor.getCabinetId());
- map.put("doorId", cabinetDoor.getDoorUniqueId());
- UiManager.INSTANCE.switcher(holder.itemView.getContext(), map, InquiryActivity.class);
- } else {
- callBack.login();
- }
- }
- });
- if (null != cabinetDoorList && !cabinetDoorList.isEmpty()) {
- // 左柜门
- doorRLL.setVisibility(View.VISIBLE);
- CabinetDoorVo cabinetDoorL = cabinetDoorList.get(0);
- // 左柜门名字
- AppCompatTextView doorName1 = holder.findViewById(R.id.doorName1);
- doorName1.setText(TextUtils.isEmpty(cabinetDoorL.getDoorName()) ? "" : cabinetDoorL.getDoorName());
- // 左柜门化学品总数
- AppCompatTextView doorHxpSize1 = holder.findViewById(R.id.doorHxpSize1);
- doorHxpSize1.setText(String.valueOf(cabinetDoorL.getStockNum()));
- // 左柜门管理员
- AppCompatTextView doorAdmin1 = holder.findViewById(R.id.doorAdmin1);
- List<AdminVoListBean> cabinetDoorAdminLList = cabinetDoorL.getCabinetAdminVoList();
- if (null != cabinetDoorAdminLList && !cabinetDoorAdminLList.isEmpty()) {
- stringBuffer.setLength(0);
- for (int i = 0; i < cabinetDoorAdminLList.size(); i++) {
- AdminVoListBean cabinetDoorAdmin = cabinetDoorAdminLList.get(i);
- String userName = cabinetDoorAdmin.getUserName();
- if (!TextUtils.isEmpty(userName)) {
- stringBuffer.append(userName);
- if (i != cabinetDoorAdminLList.size() - 1) { // 不是最后一个元素
- stringBuffer.append("\n"); // 添加分隔符
- }
- }
- }
- doorAdmin1.setText(stringBuffer.toString());
- } else {
- doorAdmin1.setText("");
- }
- if (cabinetDoorList.size() > 1) {
- // 右柜门
- doorRLR.setVisibility(View.VISIBLE);
- CabinetDoorVo cabinetDoorR = cabinetDoorList.get(1);
- // 右柜门名字
- AppCompatTextView doorName2 = holder.findViewById(R.id.doorName2);
- doorName2.setText(TextUtils.isEmpty(cabinetDoorR.getDoorName()) ? "" : cabinetDoorR.getDoorName());
- // 右柜门化学品总数
- AppCompatTextView doorHxpSize2 = holder.findViewById(R.id.doorHxpSize2);
- doorHxpSize2.setText(String.valueOf(cabinetDoorR.getStockNum()));
- // 右柜门管理员
- AppCompatTextView doorAdmin2 = holder.findViewById(R.id.doorAdmin2);
- List<AdminVoListBean> cabinetDoorAdminRList = cabinetDoorR.getCabinetAdminVoList();
- if (null != cabinetDoorAdminRList && !cabinetDoorAdminRList.isEmpty()) {
- stringBuffer.setLength(0);
- for (int i = 0; i < cabinetDoorAdminRList.size(); i++) {
- AdminVoListBean cabinetDoorAdmin = cabinetDoorAdminRList.get(i);
- String userName = cabinetDoorAdmin.getUserName();
- if (!TextUtils.isEmpty(userName)) {
- stringBuffer.append(userName);
- if (i != cabinetDoorAdminRList.size() - 1) { // 不是最后一个元素
- stringBuffer.append("\n"); // 添加分隔符
- }
- }
- }
- doorAdmin2.setText(stringBuffer.toString());
- } else {
- doorAdmin2.setText("");
- }
- } else {
- doorRLR.setVisibility(View.GONE);
- }
- } else {
- doorRLL.setVisibility(View.GONE);
- doorRLR.setVisibility(View.GONE);
- }
- }
- @Override
- public int getLayoutId(int viewType) {
- return R.layout.fragment_main_cabinet;
- }
- }
|