且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Android - getTargetFragment 和 setTargetFragment - 它们的用途是什么

更新时间:2021-11-29 03:54:54

用例 = 由同一活动托管的 2 个片段.

Use case = 2 fragments hosted by the same activity.

其中 startActivityForResult() 建立了 2 个 Activity 之间的关系,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)