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 { List records; Context mContext; OnItemClickListener onItemClickListener; public interface OnItemClickListener { void onItemClick(int position); } public CardAdapter(Context context, List 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; } } }