package com.xypower.mpremote.adapter; import android.annotation.SuppressLint; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import com.xypower.mpremote.R; import com.xypower.mpremote.interfaces.OnImageItemClickListener; import com.xypower.mpremote.utils.ImageUtils; import java.util.ArrayList; import java.util.List; public class ImageItemAdapter extends RecyclerView.Adapter { public int adapterType; public OnImageItemClickListener listener; private List itemList = new ArrayList<>(); public class MyViewHolder extends RecyclerView.ViewHolder { private ImageView imageView; public MyViewHolder(View view, OnImageItemClickListener listener) { super(view); imageView = view.findViewById(R.id.id_imageview); } public ImageView getImage() { return imageView; } } public void setOnClickListener(OnImageItemClickListener listener) { this.listener = listener; } public void setItemList(List list) { this.itemList = list; notifyDataSetChanged(); } @NonNull @Override public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_img_item, parent, false); return new MyViewHolder(view, listener); } @Override public void onBindViewHolder(@NonNull MyViewHolder holder, @SuppressLint("RecyclerView") int position) { String s = itemList.get(position); Glide.with(holder.itemView.getContext()).load(s).into(holder.getImage()); // holder.getImage().setImageDrawable(ImageUtils.loadDrawable(s)); holder.itemView.setOnClickListener(v -> { if (listener != null) { listener.onItemClick(v, position); } }); } @Override public int getItemCount() { return itemList.size(); } }