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 = "" } }