ReceiptDetailAdapter.java 2.99 KB
package com.huaheng.mobilewms.refactor;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.huaheng.mobilewms.bean.ReceiptDetail;
import com.huaheng.mobilewms.R;

import java.util.List;

import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;

public class ReceiptDetailAdapter extends RecyclerView.Adapter<ReceiptDetailAdapter.ViewHolder> {
    private List<ReceiptDetail> list;
    private Context mContext;
    private int menu_item_view_id;

    static class ViewHolder extends RecyclerView.ViewHolder {
//        ImageView menuIcon;
        TextView materialCodeView;
        TextView materialNameView;
        TextView materialQtyView;
        View view;

        public ViewHolder(@NonNull View itemView) {
            super(itemView);
            view = itemView;
            materialCodeView = itemView.findViewById(R.id.materialCode);
            materialNameView = itemView.findViewById(R.id.materialName);
            materialQtyView = itemView.findViewById(R.id.materialQty);
        }
    }

    public ReceiptDetailAdapter(List<ReceiptDetail> list) {
        this.list = list;
    }

    /**
     * 是用于创建ViewHolder实例的,我们在这个方法中将fruit_item布局加载进来,然后创建一个ViewHolder实例
     *
     * @param parent
     * @param viewType
     * @return
     */
    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        if (mContext == null) {
            mContext = parent.getContext();
        }
        View view = LayoutInflater.from(mContext).inflate(R.layout.view_receipt_detail, parent, false);
        final ViewHolder holder = new ViewHolder(view);
        holder.view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int position = holder.getAdapterPosition();
//                MenuItem item = list.get(position);
//                Intent intent = new Intent(mContext, item.getActivityClass());
//                mContext.startActivity(intent, item.getBundle());
            }
        });
        return holder;
    }

    /**
     * 用于对RecyclerView子项的数据进行赋值的,会在每个子项被滚动到屏幕内的时候执行,这里我们通过position
     * 参数得到当前项的MainMenuItem实例,然后再将数据设置到ViewHolder的ImageView和TextView当中即可。
     *
     * @param holder
     * @param position
     */
    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        ReceiptDetail item = list.get(position);
        holder.materialQtyView.setText(item.getQty());
        holder.materialCodeView.setText(item.getMaterialCode());
        holder.materialNameView.setText(item.getMaterialName());
    }

    @Override
    public int getItemCount() {
        return list.size();
    }
}