1

我对 Kotlin 还很陌生,我正在使用 Anko DSL(带有一些 XML)来生成警报。我的问题是,onClick{ ... }当我单击按钮时,该功能不会发生。其他一切正常,这只是一个问题

        fab.setOnClickListener { view ->
        alert {
            title = "Add Board"
            customView {
                include<View>(R.layout.alert_xml) {
                    this.spinner.adapter = adapter
                    info("Alert loaded")
                    val boardSpinner = this.spinner
                    val boardText = this.board_text
                    positiveButton("OK") {
                        onClick {
                            info("Testing")
                        }
                    }
                }
            }
        }.show()
    }
4

1 回答 1

3

接受的 lambda 参数positiveButton不是设置函数,而是单击侦听器本身,因此您可以直接在其中编写代码:

positiveButton("OK") {
    info("Testing")
}

您在其中调用的onClick函数来自另一个外部范围,并且正在覆盖其中一个外部视图的侦听器,大概是 XML 中包含视图的根的侦听器。

于 2017-06-14T07:24:21.390 回答