package com.upipayment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.ImageView import android.widget.TextView import androidx.recyclerview.widget.RecyclerView class PaymentModeAdapter(val callback: OnItemClick) : RecyclerView.Adapter() { private val entries: ArrayList = ArrayList() fun setList(dataList: ArrayList) { entries.clear() entries.addAll(dataList) notifyDataSetChanged() } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ItemViewHolder { val v = LayoutInflater.from(parent.context).inflate(R.layout.payment_mode_item, parent, false) return ItemViewHolder(v) } override fun onBindViewHolder(p0: ItemViewHolder, position: Int) { val itemsFaq: PaymentModeModal = entries[position] p0.bindItems(itemsFaq) } override fun getItemCount(): Int { return entries.size } inner class ItemViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindItems(dataBean: PaymentModeModal) { val icon = itemView.findViewById(R.id.icon) val tvName = itemView.findViewById(R.id.tvName) icon.setImageDrawable(dataBean.icon) tvName.text = dataBean.appName itemView.setOnClickListener { callback.onItemClick(dataBean.packageName) } } } interface OnItemClick { fun onItemClick(packageName: String) } }