如何使用空侦听器在 kotlin 中的适配器上实现点击侦听器?
How to implement clicklistener on adapter on kotlin wiouth null listener?
我正在尝试在 recyclerview 适配器上实现一个侦听器。问题是其他时候我也这样做过,而且效果很好,但这次不行。
适配器是从弹出视图调用的,是吗?
这是调试显示适配器错误的地方class
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)
}
在 return 声明中说“mListener”为空
fun setOnItemClickListener(listener: OnItemClickListener) {
mListener = listener
}
同样,我还有其他几个适配器,我以同样的方式使用它们。
任何关于查找内容的帮助或建议都很好。
问题是因为在父 class 上我没有实现 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)
我正在尝试在 recyclerview 适配器上实现一个侦听器。问题是其他时候我也这样做过,而且效果很好,但这次不行。 适配器是从弹出视图调用的,是吗?
这是调试显示适配器错误的地方class
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)
}
在 return 声明中说“mListener”为空
fun setOnItemClickListener(listener: OnItemClickListener) {
mListener = listener
}
同样,我还有其他几个适配器,我以同样的方式使用它们。 任何关于查找内容的帮助或建议都很好。
问题是因为在父 class 上我没有实现 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)