16

在我的应用程序中,我有一个用户填写的表格。按“保存”,数据将保存到本地数据库。我想为用户添加一个确认对话框,以便在继续之前查看他输入的详细信息,因为这些详细信息至关重要。

在我的 dialogFragment 实例中,我会有类似的内容:“您正在输入这些详细信息:A、B、C……您确认了吗?”

A、B、C 是调用 dialogFragment 的活动中我的 EditText 字段的值

如何从 dialogFragment 访问这些值?我在用:

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

在我的活动中。ConfirmSaveProjectDetails是我的 dialogFragment 类。

我没有使用 Intent,否则我会发送一个 Bundle...

有什么建议吗?

4

3 回答 3

30

您可以将包形式的参数添加到片段中,然后从片段中检索它们。使用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 回答