2

当使用示例中提供的 anko 选择器时,它不起作用

val countries = listOf("Russia", "USA", "Japan", "Australia")
selector("Where are you from?", countries) { i ->
    toast("So you're living in ${countries[i]}, right?")
}

在这里定义 lambda 函数时,它说预期有两种类型的参数。(Dialoginterface 和 int)。我被这个困住了。Alos 默认的 kotlin alertdialog 也在说同样的事情。谁能解决这个问题或告诉我如何在 kotlin 中建立一个带有选择的警报对话框?

4

1 回答 1

2

似乎这是示例中的错误。

selector函数源说它需要一个带有两个参数的(DialogInterface, Int) -> Unit函数,因此您可以通过添加缺少的参数来修复代码,如下所示:

selector("Where are you from?", countries) { dialogInterface, i -> /* ... */ }

或者,如果您不使用DialogInterface,只需使用下划线忽略它:

selector("Where are you from?", countries) { _, i -> /* ... */ }
于 2017-06-07T14:46:27.577 回答