那么代码“DetailActivity.ID to it.id”是什么意思?

我是Kotlin的初学者。 以下代码来自Kotlin-for-Android开发人员

https://github.com/antoniolg/Kotlin-for-Android-Developers/blob/master-june-2017/app/src/main/java/com/antonioleiva/weatherapp/ui/activities/MainActivity.kt

有趣的startActivity有两个参数DetailActivity.ID to it.idDetailActivity.CITY_NAME to result.city

你能解释关于这两个参数的细节吗?

 private fun loadForecast() = doAsync { val result = RequestForecastCommand(zipCode).execute() uiThread { val adapter = ForecastListAdapter(result) { startActivity<DetailActivity>(DetailActivity.ID to it.id, DetailActivity.CITY_NAME to result.city) } forecastList.adapter = adapter toolbarTitle = "${result.city} (${result.country})" } } 

2 Solutions collect form web for “那么代码“DetailActivity.ID to it.id”是什么意思?”

to是标准库中的一个中缀函数,用于轻松创建Pair实例。

DetailActivity.ID to it.id相当于Pair(DetailActivity.ID, it.id)


你可以通过在Android Studio中使用Ctrl + B来实际上跳转到它的实现,这很简单:

 public infix fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that) 

to是一个中缀函数 ,用于从实例创建一对:

 infix fun <A, B> A.to(that: B): Pair<A, B> 

而不是写val pair = Pair(a, b) ,现在可以写val pair = a to b

  • 在串的美元的符号字符
  • PlaceAutocomplete小部件在Android 4.1中不起作用
  • Android NestedScrollView.smoothScrollBy()滚动太多
  • 从kotlin调用java varargs方法
  • 有没有更好的方法来访问可空属性?
  • Kotlin泛型超/儿童班
  • 我有一个Vertx请求,我需要计算一个外部可见的(公共)URL
  • 未解决的参考:使用@ExtendWith注释的SpringExtension
  • 安装kotlin后无法打开Android studio项目
  • 为什么Kotlin lang只允许项目中的单一主要功能?
  • Runnable不能在Android上的浮动操作栏上运行
  • Kotlin language will be the best programming language for Android.