| package com.dayu.qiheonlinelibrary.adapter; | 
|   | 
| import android.content.Context; | 
| import android.view.LayoutInflater; | 
| import android.view.ViewGroup; | 
|   | 
| import androidx.annotation.NonNull; | 
| import androidx.databinding.DataBindingUtil; | 
| import androidx.recyclerview.widget.RecyclerView; | 
|   | 
| import com.dayu.baselibrary.databinding.ItemNoMoreBinding; | 
| import com.dayu.qiheonlinelibrary.R; | 
| import com.dayu.qiheonlinelibrary.bean.CardInfoListResult; | 
| import com.dayu.qiheonlinelibrary.bean.UserListResult; | 
| import com.dayu.qiheonlinelibrary.databinding.QiheLineItemUserBinding; | 
| import com.dayu.qiheonlinelibrary.databinding.QiheLineItenCardBinding; | 
|   | 
| import java.util.List; | 
|   | 
| /** | 
|  * author: zuo | 
|  * Date: 2024-08-08 | 
|  * Time: 17:26 | 
|  * 备注: | 
|  */ | 
| public class CardAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> { | 
|   | 
|     List<CardInfoListResult.Records> records; | 
|     Context mContext; | 
|     OnItemClickListener onItemClickListener; | 
|   | 
|     public interface OnItemClickListener { | 
|         void onItemClick(int position); | 
|     } | 
|   | 
|     public CardAdapter(Context context, List<CardInfoListResult.Records> rechargeList, OnItemClickListener onItemClickListener) { | 
|         mContext = context; | 
|         this.onItemClickListener = onItemClickListener; | 
|         this.records = rechargeList; | 
|     } | 
|   | 
|   | 
|     @NonNull | 
|     @Override | 
|     public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { | 
|         if (viewType == VIEW_TYPE_EMPTY) { | 
|             ItemNoMoreBinding emptyView = DataBindingUtil.inflate((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE), com.dayu.baselibrary.R.layout.item_no_more, parent, false); | 
|             return new ViewHolderEmpty(emptyView); | 
|         } else { | 
|             QiheLineItenCardBinding binding = DataBindingUtil.inflate((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.qihe_line_iten_card, parent, false); | 
|   | 
|             return new ViewHolder(binding); | 
|         } | 
|   | 
|     } | 
|   | 
|     @Override | 
|     public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { | 
|         if (holder instanceof ViewHolder) { | 
|             if (records.size() > 0) { | 
|                 try { | 
|                     CardInfoListResult.Records record = records.get(position); | 
|                     ((ViewHolder) holder).getBinding().cardId.setText(record.getIccardNum()); | 
|                     ((ViewHolder) holder).getBinding().userCode.setText(record.getIccardCode()); | 
|                     ((ViewHolder) holder).getBinding().balance.setText(record.getIccardBalanceMoney() + " 元"); | 
|                     ((ViewHolder) holder).getBinding().totalMorny.setText(record.getTotalRechargeMoney() + " 元"); | 
|                     ((ViewHolder) holder).getBinding().balanceElectic.setText(record.getIccardBalanceElectric()+" 度"); | 
|                     ((ViewHolder) holder).getBinding().lastRechargeTime.setText("最后充值时间:" + record.getLastRechargeTime()); | 
|                     if (record.getIccardStatus() == 0) { | 
|                         ((ViewHolder) holder).getBinding().state.setText("正常"); | 
|                     } else if (record.getIccardStatus() == 1) { | 
|                         ((ViewHolder) holder).getBinding().state.setText("已注销"); | 
|                     } else { | 
|                         ((ViewHolder) holder).getBinding().state.setText("已挂失"); | 
|                     } | 
|                     ((ViewHolder) holder).getBinding().item.setOnClickListener(v -> onItemClickListener.onItemClick(position)); | 
|                 } catch (Exception e) { | 
|                     e.printStackTrace(); | 
|                 } | 
|             } | 
|         } | 
|     } | 
|   | 
|     @Override | 
|     public int getItemCount() { | 
|         //同时这里也需要添加判断,如果mData.size()为0的话,只引入一个布局,就是emptyView | 
|         // 那么,这个recyclerView的itemCount为1 | 
|         if (records.size() == 0) { | 
|             return 1; | 
|         } | 
|         return records.size(); | 
|     } | 
|   | 
|     @Override | 
|     public int getItemViewType(int position) { | 
|         if (records.size() == 0) { | 
|             return VIEW_TYPE_EMPTY; | 
|         } else { | 
|             return VIEW_TYPE_ITEM; | 
|         } | 
|     } | 
|   | 
|   | 
|     static class ViewHolder extends RecyclerView.ViewHolder { | 
|         QiheLineItenCardBinding mBinding; | 
|   | 
|         public QiheLineItenCardBinding getBinding() { | 
|             return mBinding; | 
|         } | 
|   | 
|         public void setBinding(QiheLineItenCardBinding binding) { | 
|             this.mBinding = binding; | 
|         } | 
|   | 
|         public ViewHolder(QiheLineItenCardBinding itemView) { | 
|             super(itemView.getRoot()); | 
|             this.mBinding = itemView; | 
|   | 
|         } | 
|     } | 
| } |