Kotlin android studio我试图改变按钮文本,但得到一个“一个布尔型的值”消息
Android Studio中的Kotlin。 我试图改变按钮的文字,但我得到了“一个布尔types的值”消息。 我怎样才能解决这个问题?
button11.setOnLongClickListener{ button11.text = "" }
您在此处通过SAM转换实现的View.OnLongClickListener
接口中的onLongClick
方法将返回一个boolean
值,表示您是否消耗了长按事件。
因此,您需要从Kotlin中的lambda返回Boolean
,例如,像这样(返回lambda的最后一个expression式):
button11.setOnLongClickListener { button11.text = "" true }
尝试使用不为空或安全:
button11?.setOnLongClickListener{ button?.text="" }
正如已经正确回答的那样,你需要从你的lambda返回一个boolean
作为parameter passing给setOnLongClickListener
。 如果你也想利用,这个function也可以这样实现:
button11.setOnLongClickListener { true.also { button11.text = "" } }