定义点击事件接口
在RecycleViewAdapter的基类中定义点击事件接口。
abstract class BaseRecycleViewAdapter: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
interface OnItemClickListener {
fun setOnItemClickListener(position: Int) {
}
}
}
实现监听
lateinit var listener: OnItemClickListener
···
// 暴露监听方法供外界调用
fun setOnItemClickListener(listener: OnItemClickListener) {
this.listener = listener
}
···
// 在`onBindViewHolder`中对Item监听
holder.itemView.setOnClickListener {
listener.setOnItemClickListener(position)
}
外界调用
adapter.setOnItemClickListener(object : BaseRecycleViewAdapter.OnItemClickListener {
override fun setOnItemClickListener(position: Int) {
// do something
}
})
网友评论