16

私のアプリケーションには、ユーザーが入力するフォームがあります。「保存」を押すと、データがローカル データベースに保存されます。ユーザーが次に進む前に入力した詳細を確認するための確認ダイアログを追加したいと思います。これらの詳細は非常に重要です。

私のdialogFragmentインスタンスでは、「次の詳細を入力しています: A、B、C...確認しますか?」

A、B、C は、dialogFragment を呼び出すアクティビティの EditText フィールドの値です。

dialogFragment からこれらの値にアクセスするにはどうすればよいですか? 私は使っている:

new ConfirmSaveProjectDetails().show(getFragmentManager(),"Confirm");

私の活動で。ConfirmSaveProjectDetails私のdialogFragmentクラスです。

私はインテントを使用していません。それ以外の場合は、バンドルを送信します...

なにか提案を?

4

3 に答える 3

30

バンドルの形式で引数を Fragment に追加し、フラグメントからそれらを取得できます。Fragmentで使用可能な次のメソッドを使用します。

setArgumentsgetArguments

それらを Fragments コンストラクターに引数として渡すことも常にオプションです。

于 2012-10-11T13:31:59.957 に答える
1

おそらく最もきれいでエレガントな方法ではありませんが、これらの情報public staticを作成して、ダイアログから参照することができます。

データを収集するアクティビティ/フラグメント:

public static String A
public static String B
public static String C

そして、次のようにダイアログ フラグメントでそれをつかみます (既に知っていることを説明している場合は申し訳ありません)。

your_activity/fragment_classname.A
your_activity/fragment_classname.B
your_activity/fragment_classname.C
于 2012-10-11T13:35:25.217 に答える
1

あなたのアクティビティで

ImageViewDialogFragment dialogFragment = new ImageViewDialogFragment ();
                        Bundle bundle = new Bundle();
                        bundle.putString("link",moviesList.get(position).getImage());
                        dialogFragment.setArguments(bundle);
                        dialogFragment.show((GalleryReviewActivity.this).getSupportFragmentManager(),"Image Dialog");

あなたのDialogFragmentで

 Bundle bundle = getArguments();
 String imageLink = bundle.getString("link","");
于 2016-11-16T12:03:13.383 に答える