Android - getTargetFragment and setTargetFragment - What are they used for

前端 未结 3 415
夕颜
夕颜 2020-11-29 06:06

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

3条回答
  •  暖寄归人
    2020-11-29 06:32

    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)
    

提交回复
热议问题