我正试图在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)