在adapter的onBindViewHolder中给view设置点击事件
holder.itemView.setOnClickListener{
}
注:
adapter代码:
package com.example.mykotlin1.adapters
import android.app.Activity
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.mykotlin1.AddUpdateDishActivity
import com.example.mykotlin1.databinding.ItemCustomListBinding
class CustomListItemAdapter(private val activity:Activity,
private val listItem : List<String>,
private val selection :String)
: RecyclerView.Adapter<CustomListItemAdapter.ViewHolder>(){
class ViewHolder(view:ItemCustomListBinding):RecyclerView.ViewHolder(view.root){
val tvText = view.tvText
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding : ItemCustomListBinding = ItemCustomListBinding.inflate(LayoutInflater.from(activity),parent,false)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val item = listItem.get(position)
holder.tvText.text = item
holder.itemView.setOnClickListener{
if(activity is AddUpdateDishActivity){
activity.selectedListItem(item,selection)
}
}
}
override fun getItemCount(): Int {
return listItem.size
}
}