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