I tried searching but i\'m still a little lost. I usually do fragment to fragment communication through an Activity via interfaces or a BroadcastReceiver
Use case = 2 fragments hosted by the same activity.
Where startActivityForResult() establishes a relationship between 2 activities, setTargetFragment() defines the caller/called relationship between 2 fragments.
setTargetFragment(target) lets the "called" fragment know where to send the result. onActivityResult() is called manually in this case.
public class Caller extends Fragment
Fragment called = Called.newInstance()
called.setTargetFragment(this)
public class Called extends DialogFragment
intent = amazingData
getTargetFragment().onActivityResult(getTargetRequestCode(), resultCode, intent)