【发布时间】:2021-03-13 16:41:49
【问题描述】:
我创建了一个视图,但我的按钮 ClickListener 界面出现问题。 界面是这样的
interface CustomButtonsClickListener : () -> Unit {
fun onPlusClick(view: View, button: ImageButton)
fun onMinusClick(view: View, button: ImageButton)
}
通过方法实现:
fun setCustomButtonsClickListeners(clickListener: CustomButtonsClickListener) {
binding.addButton.setOnClickListener {
clickListener.onPlusClick(this, binding.addButton)
}
binding.minusButton.setOnClickListener {
clickListener.onMinusClick(this, binding.minusButton)
}
}
这就是“外面”的样子
view.setCustomButtonsClickListeners(object : CustomButtonsClickListener {
override fun onPlusClick(view: View, button: ImageButton) {
}
override fun onMinusClick(view: View, button: ImageButton) {
}
})
问题:
我在object 上收到错误消息:Object is not abstract and does not implement abstract member public abstract fun invoke()...
invoke()的方法是什么,应该如何实现?我宁愿在 View 类中执行此操作,这样我就不必在应用程序中的某处使用 View 时执行此操作。
【问题讨论】:
标签: kotlin interface interface-implementation clicklistener