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

Sara

この記事では DialogFragment に値を渡す方法を紹介します。

DialogFragment には

  • String 型
  • 基本型
  • 配列
  • ArrayList

などの値を渡すことができます。

このサンプルでは String 型と int 型の値を渡して、ダイアログに表示してみます。

ダイアログの基本的な使い方は以下の記事をお読み下さい。
>> ダイアログを表示する方法① 基本型(Java 編)

>> Kotlin バージョンはこちら

開発環境

Android StudioHedgehog | 2023.1.1
Android EmulatorPixel 3a (API 34)
minSdk21
targetSdk34

ファイル名について

このサンプルでは

  • MainActivity.java
  • MyDialogFragment.java

にコードを書きます。

MyDialogFragment.java の作成方法は以下の記事をお読みください。
>> ダイアログを表示する方法① 基本型(Java 編)

解説

Step1:値を渡す

ダイアログを表示する部分に値を渡すためのコードを追加します。(12~15行目)

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.btn).setOnClickListener(view -> {
DialogFragment dialogFragment = new MyDialogFragment();
// 値を渡す
Bundle args = new Bundle();
args.putString("TITLE", "こんにちは");
args.putInt("NUMBER", 123);
dialogFragment.setArguments(args);
dialogFragment.show(getSupportFragmentManager(), "my_dialog");
});
}
}

Bundle オブジェクトを使って値を渡します。

args.putXXXXX(キー,);

キーは値を取り出す時に使う文字列です。

ここでは String 型と int 型の値を渡しましたが、それ以外の場合は以下のメソッドを使います。

  • boolean 型 → putBoolean
  • float 型 → putFloat
  • int 型の配列 → putIntArray
  • String 型の ArrayList → putStringArrayList

Step2:値を受け取る

MyDialogFragment.java で値を受け取ります。(7・8行目)

public class MyDialogFragment extends DialogFragment {
@NonNull
@Override
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
// 値を受け取る
String title = requireArguments().getString("TITLE", "");
int number = requireArguments().getInt("NUMBER", 0);
return new AlertDialog.Builder(requireActivity())
.setTitle(title)
.setMessage("受け取った値は" + number)
.setPositiveButton("OK", (dialog, id) -> {
})
.create();
}
}
getArguments().getXXXXX(キー, 初期値);

putXXXXX メソッドで使ったキーを使って値を取り出します。

初期値は値を受け取ることができなかった場合の値です。

値を渡した時と同じように、受け取る値によってメソッド名が変わります。

  • boolean 型 → getBoolean
  • float 型 → getFloat
  • int 型の配列 → getIntArray
  • String 型の ArrayList → getStringArrayList

完成

以上で完成です。

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

あわせて読みたい
【Android】ダイアログの使い方まとめ(Java & Kotlin対応)
【Android】ダイアログの使い方まとめ(Java & Kotlin対応)

COMMENT

Subscribe
必ずお読みください!

投稿いただいたコメントは管理者の承認後に表示されます。

コードやエラーに関するご質問の場合は、以下の3点

  1. 開発環境(OS / ブラウザ / MAMP 6.6 / Android Studio Chipmunk など)
  2. エラーメッセージ
  3. お試しになったこと

できるだけ具体的に必ず書いてください。

Notify of


0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました