package etelligens.com.foodsafety.adapter; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.Glide; import org.json.JSONArray; import java.net.URLDecoder; import java.util.ArrayList; import etelligens.com.foodsafety.R; import etelligens.com.foodsafety.model.CustomLabelFrontModal; import static etelligens.com.foodsafety.utils.EndPoint.ETE_IMAGE_BASEURL; public class CustomLabelAdapterFrontEnd extends RecyclerView.Adapter { Context context; ArrayList labelFrontModals; PassData passData; public interface PassData { void sendData(CustomLabelFrontModal customLabelFrontModal); } public CustomLabelAdapterFrontEnd(Context context, ArrayList labelFrontModals, PassData passData) { this.context = context; this.labelFrontModals = labelFrontModals; this.passData = passData; } View view; @NonNull @Override public CustomLabelAdapterFrontEnd.CustomViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int i) { view = LayoutInflater.from(context).inflate(R.layout.item_layout_categorylist, parent, false); return new CustomViewHolder(view); } @Override public void onBindViewHolder(@NonNull CustomLabelAdapterFrontEnd.CustomViewHolder holder, int position) { final CustomLabelFrontModal modal = labelFrontModals.get(position); String name = modal.getDescription(); String decodeName=decodeString(name); if (decodeName != null) { holder.itemname.setText(decodeName); } else { holder.itemname.setText(R.string.unknown_txt); } String image = modal.getImage(); if (decodeName != null) { holder.itemname.setText(decodeName); } if (image != null && !image.equals("")) { Glide.with(context) .load(ETE_IMAGE_BASEURL + image) .into(holder.itemImg); } else { holder.itemImg.setImageResource(R.drawable.icon_no_image); } holder.rllayout.setOnClickListener(view -> passData.sendData(modal)); } @Override public int getItemCount() { return labelFrontModals.size(); } private String decodeString(String productPrice) { String value= URLDecoder.decode(productPrice); return value; } public class CustomViewHolder extends RecyclerView.ViewHolder { ImageView itemImg; TextView itemname; RelativeLayout rllayout; public CustomViewHolder(View itemview) { super(itemview); itemImg = itemview.findViewById(R.id.item_image_layout); itemname = itemview.findViewById(R.id.item_textname); rllayout = itemview.findViewById(R.id.rl_layout); } } }