更新时间:2021-11-29 03:54:48
用例=同一活动托管的2个片段.
Use case = 2 fragments hosted by the same activity.
startActivityForResult()
在2个活动之间建立关系,而setTargetFragment()
定义2个片段之间的呼叫者/被叫关系.
Where startActivityForResult()
establishes a relationship between 2 activities, setTargetFragment()
defines the caller/called relationship between 2 fragments.
setTargetFragment(target)让被调用"的片段知道将结果发送到哪里.在这种情况下,会手动调用onActivityResult()
.
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)