Kotlin anko常用选择器不像提供的示例那样工作

时间:2017-06-07 14:30:38

标签: android kotlin anko

当使用示例中提供的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中选择建立警报对话框?

1 个答案:

答案 0 :(得分:2)

似乎这个例子中的错误。

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

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

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

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