web-dev-qa-db-ja.com

Android用Kotlin拡張機能:bundleOfの使用方法

ドキュメントによると:

fun bundleOf(vararg pairs: Pair<String, Any?>): Bundle

指定されたキーと値のペアを要素として持つ新しいバンドルを返します。

私は試した:

   val bundle = bundleOf {
       Pair("KEY_PRICE", 50.0)
       Pair("KEY_IS_FROZEN", false)
   }

しかし、それはエラーを示しています。

9
Malwinder Singh

varargが必要な場合は、ラムダではなくパラメーターとして引数を指定する必要があります。これを試して:

val bundle = bundleOf(
               Pair("KEY_PRICE", 50.0),
               Pair("KEY_IS_FROZEN", false)
             )

基本的に、{}の角かっこを()に変更し、それらの間にコンマを追加します。

もう1つのアプローチは、Kotlinのto関数を使用することです。この関数は、左側と右側をPairに結合します。これにより、コードはさらに簡潔になります。

val bundle = bundleOf(
    "KEY_PRICE" to 50.0,
    "KEY_IS_FROZEN" to false
)
7
Todd

これはどう?

val bundle = bundleOf (
   "KEY_PRICE" to 50.0,
   "KEY_IS_FROZEN" to false
)

toは、Pairオブジェクトを作成するための優れた方法です。読みやすさを備えた中置機能の美しさ。

8
Chandra Sekhar

他の答えを完了するためだけに:

まず、bundleOfを使用するには、implementation 'androidx.core:core-ktx:1.0.0'build.gradleに追加する必要があります。

var bundle = bundleOf("KEY_PRICE" to 50.0, "KEY_IS_FROZEN" to false)
3
A-Sharabiani