2017-07-17 10 views
-2

私はKotlinの初心者です。次のコードは、楽しいstartActivityが2パラメータDetailActivity.ID to it.idDetailActivity.CITY_NAME to result.cityを持って「DetailActivity.ID to it.id」というコードは何を意味していますか?

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

でKotlin-用-のAndroid開発者からです。

2つのパラメータの詳細を説明できますか?

インスタンスへのペアを作成
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

toは、簡単にPairインスタンスを作成するための標準ライブラリの中置関数です。

DetailActivity.ID to it.idは、Pair(DetailActivity.ID, it.id)に相当します。


あなたは実際にはかなり簡単ですが、Androidのメーカーで、その上にCtrl + Bを使用することによって、その実装を確認するにはジャンプすることができます:

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

to is an infix function

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

代わりのval pair = Pair(a, b)を書いて、あなたは今val pair = a to bを書くことができます。

関連する問題