Kotlin anko 公共选择器无法像提供的示例那样工作

Kotlin anko common selector not working as in the provided examples

当使用示例中提供的 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 函数时表示需要两种类型的参数。 (对话接口和 int)。我坚持这个。另外,默认的 kotlin alertdialog 也在说同样的话。任何人都可以解决这个问题或告诉我如何在 kotlin 中构建带有选择的警报对话框吗?

好像是例子中的错误。

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

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

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

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