How can I pass data from activity to the dialogFragment that activity invoked?

瘦欲@ 提交于 2019-12-03 02:57:09

You can add arguments in the form of a bundle into the Fragment and then retrieve them from the fragment. Use the following methods available on a Fragment:

setArguments and getArguments.

Passing them as arguments to the Fragments constructor is always an option too.

Perhaps not the most pretty/elegant method, but you could make those bits of information public static and then reference them from the dialog.

In the activity/fragment where you gather the data:

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

And grab it in the dialog fragment like so (apologies if I'm explaining something you already know):

your_activity/fragment_classname.A
your_activity/fragment_classname.B
your_activity/fragment_classname.C

In your Activity

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");

in your DialogFragment

 Bundle bundle = getArguments();
 String imageLink = bundle.getString("link","");
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!