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; 
 | 
  
 | 
        } 
 | 
    } 
 | 
} 
 |