前言
一、步骤
1. 在RecyclerView对应的Adapter类里面新建接口
interface OnItemClickListener {
fun onItemClick(position: Int)
}
2. 在Adapter类里创建setOnItemClickListener方法
private var mOnItemClickListener: OnItemClickListener? = null
fun setOnItemClickListener(listener: OnItemClickListener?) {
mOnItemClickListener = listener
}
3. 在Adapter类的onBindViewHolder里给每个item设置回调
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
......
holder.itemView.setOnClickListener {
mOnItemClickListener?.onItemClick(position)
}
}
4. 在RecyclerView对应的Activity里添加点击事件
val adapter = YourAdapter(YourData)
adapter.setOnItemClickListener(object : YourAdapter.OnItemClickListener {
override fun onItemClick(position: Int) {
Toast.makeText(this@YourActivity, "You clicked No.${position} item.", Toast.LENGTH_SHORT).show()
}
})
总结