如何在kotlin的适配器上实现clicklistener



我正试图在recyclerview适配器上实现一个侦听器。问题是,我以前也戴过,效果很好,但这次不行。适配器是从弹出视图调用的,可能是它吗?

这是调试显示适配器类错误的地方

override fun onCreateViewHolder(parent: ViewGroup, p1: Int): CarListItemViewHolder {
//inflate view
val v: View = LayoutInflater.from(parent.context).inflate(R.layout.adapter_car_list_item, parent, false)
v.setOnClickListener(this)
return CarListItemViewHolder(v, mListener as OnItemClickListener)
}

在返回语句上,它说";mListener";为空

fun setOnItemClickListener(listener: OnItemClickListener) {
mListener = listener
}

同样,我有其他几个适配器,并且我以相同的方式使用它们。任何关于寻找什么的帮助或建议都将是非常好的。

问题是因为在父类上我没有实现onclicklistener。一旦我这样做了,错误就消失了

carListItemAdapter!!.setOnItemClickListener( object: CarListItemAdapter.OnItemClickListener {
override fun onClick(position: Int) {
}
override fun onItemClick(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
})

您需要将ClickListener添加到要设置适配器的适配器-

adapter.setOnClickListener(this)

最新更新