左晓为主开发手持机充值管理机
zuoxiao
2024-03-15 9c9e9ea09a2d10637889c48a67c6147cf3d4136a
app/src/main/java/com/dayu/recharge/adapter/NewCardAdapter.java
@@ -1,12 +1,20 @@
package com.dayu.recharge.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.databinding.DataBindingUtil;
import androidx.databinding.ViewDataBinding;
import androidx.recyclerview.widget.RecyclerView;
import com.dayu.recharge.R;
import com.dayu.recharge.databinding.ItemNewCardBinding;
import com.dayu.recharge.databinding.ItemNoMoreBinding;
import com.dayu.recharge.dbBean.UserCardBean;
import com.dayu.recharge.utils.DateUtil;
@@ -16,7 +24,7 @@
 * Created by zuoxiao on 2018/12/24.
 */
public class NewCardAdapter extends BaseAdapter {
public class NewCardAdapter extends BaseRecyclerAdapter<RecyclerView.ViewHolder> {
    List<UserCardBean> rechargeList;
    Context mContext;
@@ -26,51 +34,69 @@
        this.rechargeList = rechargeList;
    }
    @NonNull
    @Override
    public int getCount() {
        if (rechargeList == null) {
            return 0;
    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), R.layout.item_no_more, parent, false);
            return new ViewHolderEmpty(emptyView);
        } else {
            ItemNewCardBinding binding = DataBindingUtil.inflate((LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE), R.layout.item_new_card, parent, false);
            return new ViewHolder(binding);
        }
    }
    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof ViewHolder) {
            if (rechargeList.size() > 0) {
                ((ViewHolder) holder).getBinding().userName.setText("用户名:" + rechargeList.get(position).getUserName());
                ((ViewHolder) holder).getBinding().userNo.setText("身份证号:" + rechargeList.get(position).getUserID());
                ((ViewHolder) holder).getBinding().water.setText("电话:" + rechargeList.get(position).getPhone());
                ((ViewHolder) holder).getBinding().date.setText("日期:" + DateUtil.dateToStamp(rechargeList.get(position).getDate(), DateUtil.type1));
            }
        }
    }
    @Override
    public int getItemCount() {
        //同时这里也需要添加判断,如果mData.size()为0的话,只引入一个布局,就是emptyView
        // 那么,这个recyclerView的itemCount为1
        if (rechargeList.size() == 0) {
            return 1;
        }
        return rechargeList.size();
    }
    @Override
    public Object getItem(int position) {
        return position;
    }
    @Override
    public long getItemId(int position) {
        return position;
    }
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        NewCardAdapter.ViewHolder holder = null;
        if (convertView == null) {
            holder = new NewCardAdapter.ViewHolder();
            convertView = View.inflate(mContext, R.layout.item_new_card, null);
            holder.userName = (TextView) convertView.findViewById(R.id.userName);
            holder.userNo = (TextView) convertView.findViewById(R.id.userNo);
            holder.water = (TextView) convertView.findViewById(R.id.water);
            holder.date = (TextView) convertView.findViewById(R.id.date);
            convertView.setTag(holder);
    public int getItemViewType(int position) {
        if (rechargeList.size() == 0) {
            return VIEW_TYPE_EMPTY;
        } else {
            holder = (NewCardAdapter.ViewHolder) convertView.getTag();
            return VIEW_TYPE_ITEM;
        }
        holder.userName.setText("用户名:" + rechargeList.get(position).getUserName());
        holder.userNo.setText("身份证号:" + rechargeList.get(position).getUserID());
        holder.water.setText("电话:" + rechargeList.get(position).getPhone());
        holder.date.setText("日期:" + DateUtil.dateToStamp(rechargeList.get(position).getDate(), DateUtil.type1));
        return convertView;
    }
    class ViewHolder {
        TextView userName;
        TextView userNo;
        TextView water;
        TextView date;
    static class ViewHolder extends RecyclerView.ViewHolder {
        ItemNewCardBinding mBinding;
        public ItemNewCardBinding getBinding() {
            return mBinding;
        }
        public void setBinding(ItemNewCardBinding binding) {
            this.mBinding = binding;
        }
        public ViewHolder(ItemNewCardBinding itemView) {
            super(itemView.getRoot());
            this.mBinding = itemView;
        }
    }
}