应该在哪里处理onActivityResult,对话框片段,片段或活动?

nad*_*ajp 1 android fragment android-camera-intent dialogfragment onactivityresult

在我的Android应用程序中,我有一个片段,用户可以从图库或相机添加图片.我已经创建了一个警告对话框并将其放在DialogFragment中.当用户选择一个选项时,我调用startActivityForResult.我的问题是,理想情况下,这个结果应该在哪里处理?(即我应该在哪里放置onActivityResult?)在DialogFragment类中,主机片段还是主机活动?有关系吗?

Ste*_*ett 6

onActivityResult()将首先在Activity上调用.之后,如果您super.onActivityResult()在"活动"中调用,它将与片段联系.

这是因为Fragments的模块化设计.如果结果进入,则Activity会处理它,并且可以将未处理的结果(如果有)连接到Fragments.

回答您的问题:确定处理应用程序设计/代码结果的合理位置.如果您在Fragment中处理它并通过回调函数将结果发送回Activity,您可以直接在Activity中处理它.