Android的Kotlin扩展:如何使用bundleOf
文件说:Android的Kotlin扩展:如何使用bundleOf,android,kotlin,android-bundle,android-ktx,Android,Kotlin,Android Bundle,Android Ktx,文件说: fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle 但是它显示了错误。如果它接受一个vararg,则必须提供参数,而不是lambda。试试这个: val bundle = bundleOf( Pair("KEY_PRICE", 50.0), Pair("KEY_IS_FROZEN", false) ) 基本上,将{和}括号更改为
fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle
但是它显示了错误。如果它接受一个
vararg
,则必须提供参数,而不是lambda。试试这个:
val bundle = bundleOf(
Pair("KEY_PRICE", 50.0),
Pair("KEY_IS_FROZEN", false)
)
基本上,将{
和}
括号更改为(
和)
,并在它们之间添加逗号
另一种方法是使用Kotlin的to
函数,该函数将其左侧和右侧组合成一对。这使得代码更加简洁:
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
,需要将实现'androidx.core:core ktx:1.0.0'
添加到build.gradle
中,然后:
var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)
我添加了插件apply plugin:'kotlin android extensions'
,但是bundleOf()
无法自行解析。还有其他设置吗?bundleOf与android kotlin扩展无关。它是核心库的一部分。理想情况下,它应该是可用的。@toobsco42 bundleOf是Android KTX扩展功能的一部分。查看这里的文档:(它在androidx.core.os包中)@toobsco42将bndleOf导入更改为“androidx.core.os.bundleOf”
var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)