【Android】DialogFragment に値を渡す方法(Kotlin編)

この記事では DialogFragment に値を渡す方法を紹介します。
DialogFragment には
- String 型
- 基本型
- 配列
などの値を渡すことができます。
このサンプルでは String 型と Int 型の値を渡して、ダイアログに表示してみます。

ダイアログの基本的な使い方は以下の記事をお読み下さい。
>> ダイアログを表示する方法 ①基本型(Kotlin 編)
開発環境
Android Studio | Hedgehog | 2023.1.1 |
---|---|
Android Emulator | Pixel 3a (API 34) |
minSdk | 21 |
targetSdk | 34 |
ファイル名について
このサンプルでは
- MainActivity.kt
- MyDialogFragment.kt
にコードを書きます。
MyDialogFragment.kt の作成方法は以下の記事をお読みください。
>> ダイアログを表示する方法 ①基本型(Kotlin 編)
解説
Step1:値を渡す
ダイアログを表示する部分に値を渡すためのコードを追加します。(10~14行目)
Bundle オブジェクトを使って値を渡します。
putXXXXX(キー, 値);
キーは値を取り出す時に使う文字列です。
ここでは String 型と Int 型の値を渡しましたが、それ以外の場合は以下のメソッドを使います。
- Boolean 型 → putBoolean
- Float 型 → putFloat
- Int 型の配列 → putIntArray
Step2:値を受け取る
MyDialogFragment.kt で値を受け取ります。(6・7行目)
arguments?.getXXXXX(キー, 初期値);
putXXXXX メソッドで使ったキーを使って値を取り出します。
初期値は値を受け取ることができなかった場合の値です。
値を渡した時と同じように、受け取る値によってメソッド名が変わります。
- Boolean 型 → getBoolean
- Float 型 → getFloat
- Int 型の配列 → getIntArray
完成
以上で完成です。

その他のダイアログの使い方は以下の記事をお読みください。
