父级、视图和 id 参数从未使用过,可以重命名为 to_ (Kotlin)



我正在使用 kotlin 在 andadroid 工作室中做一个 lisview,但是当我创建 setOnItemClickListene 时,它向我显示父级、视图和 id Parameteris 从未使用过可以重命名to_,我不明白为什么我在代码中收到此警告。 我应该怎么做才能删除此警告?

class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val listapaises = arrayOf(
"Colombia", "Argentina",
"Ecuador", "Venezuela",
"Brasil", "Paraguay", "Uruguay",
"Bolivia", "Peru", "Chile"
)
val habitantes = arrayOf(
40_000_000, 17_000_000,
6_500_000, 10_000_000,
30_000_000, 14_000_000,
183_000_000, 44_000_000,
31_000_000, 3_500_000
)
val adaptador1 =
ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listapaises)
lv_lista.adapter = adaptador1
lv_lista.setOnItemClickListener { parent, view, position, id ->
tv_resultado.text = ("${habitantes[position]}")
}
}
}

请参阅以下代码:

lv_lista.setOnItemClickListener { parent, view, position, id ->
tv_resultado.text = ("${habitantes[position]}")
}

现在,您看到的警告是因为在这种情况下未使用的三个lambda参数 -parentviewid

它希望您做的是用_替换这三个未使用的参数。这将删除未使用的参数警告,并且还将防止在参数为 null 且标记为非 null 的情况下IllegalArgumentException

官方文档指出,不使用时可以用_替换参数。因此,您所要做的就是将代码更改为:

lv_lista.setOnItemClickListener { _, _, position, _->
tv_resultado.text = ("${habitantes[position]}")
}

如果要保留它们以供将来参考,可以使用@Suppress("UNUSED_PARAMETER")来禁止显示警告。

最新更新