文档说:
fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle
返回一个以给定键/值对作为元素的新 Bundle。
我试过:
val bundle = bundleOf {
Pair("KEY_PRICE", 50.0)
Pair("KEY_IS_FROZEN", false)
}
但它显示错误。
文档说:
fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle
返回一个以给定键/值对作为元素的新 Bundle。
我试过:
val bundle = bundleOf {
Pair("KEY_PRICE", 50.0)
Pair("KEY_IS_FROZEN", false)
}
但它显示错误。
如果它需要 a vararg
,则必须将参数作为参数提供,而不是 lambda。试试这个:
val bundle = bundleOf(
Pair("KEY_PRICE", 50.0),
Pair("KEY_IS_FROZEN", false)
)
本质上,改变你必须的{
和括号,并在它们之间添加一个逗号。}
(
)
另一种方法是使用 Kotlin 的to
函数,它将其左侧和右侧组合成一个Pair
. 这使得代码更加简洁:
val bundle = bundleOf(
"KEY_PRICE" to 50.0,
"KEY_IS_FROZEN" to false
)
这个怎么样?
val bundle = bundleOf (
"KEY_PRICE" to 50.0,
"KEY_IS_FROZEN" to false
)
to
是创建Pair
对象的好方法。中缀功能之美和令人敬畏的可读性。
只是为了完成其他答案:
首先,要使用bundleOf
,需要implementation 'androidx.core:core-ktx:1.0.0'
在build.gradle
then 中添加:
var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)