在我的应用程序中,我有一个用户填写的表单。按“保存”数据将保存到本地数据库。我想添加一个确认对话框,供用户在继续之前查看他输入的详细信息,因为这些细节至关重要。
在我的dialogFragment实例中,我会说:“你输入的是这些细节:A,B,C ......你确认了吗?”
A,B,C是调用dialogFragment的活动中的EditText字段的值
如何从dialogFragment中访问这些值?我正在使用:
new ConfirmSaveProjectDetails().show(getFragmentManager(),"Confirm");
在我的活动中。 ConfirmSaveProjectDetails
是我的dialogFragment类。
我没有使用Intent,否则我会发送一个Bundle ...
有什么建议吗?
答案 0 :(得分:30)
您可以以包的形式将参数添加到Fragment中,然后从片段中检索它们。使用Fragment上提供的以下方法:
setArguments
和getArguments
。
将它们作为参数传递给Fragments构造函数也始终是一个选项。
答案 1 :(得分: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
答案 2 :(得分: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","");