简体   繁体   English

android kotlin - 如何将点击监听器添加到 RecyclerView 适配器

[英]android kotlin -how to add click listener to RecyclerView adapter

I'm new in kotlin ,this is my adapter code , it works find and I've no problem , now ,I need to implement click listener for it , here is my code :我是 kotlin 的新手,这是我的适配器代码,它可以找到并且我没有问题,现在,我需要为它实现点击侦听器,这是我的代码:

class CategoryAdapter(val context: Context,val list: List<CategoryItems>): RecyclerView.Adapter<CategoryAdapter.ViewHolder>() {
var typeface: Typeface? = Func.getTypeFace(context)

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    var catRow=list.get(position)

    holder?.tvTitle.text = catRow.name
    holder?.tvTitle.setTypeface(typeface)
    Glide.with(context).load(Const.BaseUrl+"Opitures/"+  catRow.icon_name).into(holder?.imgCat);
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
    val v = LayoutInflater.from(parent?.context).inflate(R.layout.category_item, parent, false)
    return ViewHolder(v);
}

override fun getItemCount(): Int {
    return list.size
}

class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView){
    val tvTitle = itemView.findViewById<TextView>(R.id.tv_cat_title)
    val imgCat = itemView.findViewById<ImageView>(R.id.img_cat)
}
}

I want to add click listener, I used to do it in viewholder class where I implement click listener我想添加点击侦听器,我曾经在实现点击侦听器的 viewholder 类中这样做

how can I do it in kotlin , ?我怎样才能在 kotlin 中做到这一点? i've tied so many ways but no success我绑了很多方法但没有成功

var onItemClick: ((pos: Int, view: View) -> Unit)? = null

inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView), View.OnClickListener {
    override fun onClick(v: View) {
        onItemClick?.invoke(adapterPosition, v)
    }
    val tvTitle = itemView.findViewById<TextView>(R.id.tv_cat_title)

    init {
        itemView.setOnClickListener(this)
    }
}

and in your activity just implement click listener并在您的活动中实现点击侦听器

adapter.onItemClick = { pos, view ->  

}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在 RecyclerView Android 中向 ItemDecoration 添加点击监听器? - How to add a click listener to ItemDecoration in RecyclerView Android? 将Click侦听器添加到Generic RecyclerView Adapter - Add click listener to Generic RecyclerView Adapter Android:RecyclerView Click Listener没有进入适配器 - Android: RecyclerView Click Listener is not getting in Adapter 如何使用Kotlin在Android Studio中的RecyclerView上添加Onclick侦听器? - How to add a Onclick listener on a RecyclerView in Android Studio with Kotlin? 如何在 Adapter 中的 Kotlin 中提供长按监听器 - How to provide long click listener in Kotlin in Adapter 在kotlin中如何设置recyclerview适配器的单击事件 - in kotlin how to set click event for recyclerview adapter 如何在 RecyclerView 适配器中为 Kotlin 中的 Android 初始化 viewHolder - How to initialize viewHolder in RecyclerView adapter for Android in Kotlin RecyclerView,适配器,单击侦听器和AsyncTask - RecyclerView, adapter, click listener and AsyncTask 如何使用CardView Item在`RecyclerView.Adapter&#39;中单击侦听器 - How to add an Item Click Listener in `RecyclerView.Adapter' using CardView Item 将滚动侦听器添加到RecyclerView适配器 - add scroll listener to RecyclerView adapter
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM