UserBindPrinterModalAdopter.java 2.71 KB
package etelligens.com.foodsafety.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import etelligens.com.foodsafety.R;
import etelligens.com.foodsafety.model.PrinterCustomerUseRecordsModal;
import etelligens.com.foodsafety.model.UserBindPrinterModal;
import org.jetbrains.annotations.NotNull;

import java.util.ArrayList;

/**
 * @author wj
 * @Description: 用户绑定打印机
 * @create 2024/2/26  11:12
 **/
public class UserBindPrinterModalAdopter extends RecyclerView.Adapter<UserBindPrinterModalAdopter.UserBindPrinterViewHolder> {
    private Context context;
    private ArrayList<UserBindPrinterModal> userBindPrinterModals;
    OnItemClick onItemClick;
    public interface OnItemClick {
        void sendData(UserBindPrinterModal userBindPrinterModal);
    }

    public UserBindPrinterModalAdopter(Context context, ArrayList<UserBindPrinterModal> userBindPrinterModals, UserBindPrinterModalAdopter.OnItemClick onItemClick) {
        this.context = context;
        this.userBindPrinterModals = userBindPrinterModals;
        this.onItemClick = onItemClick;
    }

    View view;

    @NonNull
    @NotNull
    @Override
    public UserBindPrinterModalAdopter.UserBindPrinterViewHolder onCreateViewHolder(@NonNull @NotNull ViewGroup parent, int viewType) {
        view = LayoutInflater.from(context).inflate(R.layout.item_layout_user_bind_printer_item, parent, false);
        return new UserBindPrinterModalAdopter.UserBindPrinterViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull @NotNull UserBindPrinterViewHolder holder, int position) {
        final UserBindPrinterModal userBindPrinterModal = userBindPrinterModals.get(position);
        holder.storeName.setText(userBindPrinterModal.getStoreID());
        holder.printerNameTxt.setText(userBindPrinterModal.getPrinterName());
        holder.llBindPrinterLayout.setOnClickListener(view -> onItemClick.sendData(userBindPrinterModal));
    }


    @Override
    public int getItemCount() {
        return userBindPrinterModals.size();
    }
    public class UserBindPrinterViewHolder extends RecyclerView.ViewHolder {
        LinearLayout llBindPrinterLayout;
        TextView storeName, printerNameTxt;

        public UserBindPrinterViewHolder(View itemview) {
            super(itemview);
            storeName = itemview.findViewById(R.id.store_name_txt);
            printerNameTxt = itemview.findViewById(R.id.printer_name_txt);
            llBindPrinterLayout = itemview.findViewById(R.id.ll_bind_printer_layout);
        }
    }
}