我认为有两种方法.超级hacky方式是在textInputLayout
块内声明正面按钮.这是可能的,因为您可以从任何嵌套范围内访问所有外部作用域,并且该positiveButton
方法在alert
作用域中声明:
alert { customView { verticalLayout { textInputLayout { val editText = editText { hint = "Name" } positiveButton("OK") { toast("${editText.text}") } } } } }.show()
声明可以从两个作用域访问的变量的方法就越少.但是,您需要使其可以为空,因为您无法立即初始化它:
alert { var editText: EditText? = null customView { verticalLayout { textInputLayout { editText = editText { hint = "Name" } } } } positiveButton("OK") { toast("${editText!!.text}") } }.show()