Android 的 Kotlin 扩展:如何使用 bundleOf
Kotlin extensions for Android: How to use bundleOf
文档说:
fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle
Returns a new Bundle with the given key/value pairs as elements.
我试过了:
val bundle = bundleOf {
Pair("KEY_PRICE", 50.0)
Pair("KEY_IS_FROZEN", false)
}
但是显示错误。
如果需要 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
,然后:
var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)
文档说:
fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle
Returns a new Bundle with the given key/value pairs as elements.
我试过了:
val bundle = bundleOf {
Pair("KEY_PRICE", 50.0)
Pair("KEY_IS_FROZEN", false)
}
但是显示错误。
如果需要 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
,然后:
var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)