在我的Android应用程序中,我有一个片段,用户可以从图库或相机添加图片。我已经创建了一个警告对话框并将其放在DialogFragment中。当用户选择一个选项时,我调用startActivityForResult。我的问题是,理想情况下,这个结果应该在哪里处理? (即我应该在哪里放置onActivityResult?)在DialogFragment类中,主机片段还是主机活动?这有关系吗?
答案 0 :(得分:6)
onActivityResult()
。之后,如果您在活动中致电super.onActivityResult()
,则会与片段联系。
这是因为Fragments的模块化设计。如果结果出现,则Activity会处理它,并且可以将未处理的结果(如果有)连接到Fragments。
回答您的问题:确定处理应用设计/代码结果的合理位置。如果你在Fragment中处理它并通过回调函数将结果发送回Activity,你可以直接在Activity中处理它。
答案 1 :(得分:0)
您必须在onActivityResult()
中写下HostActivity.Java
,如下所示:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
//do something
}
答案 2 :(得分:0)
是的,这很重要;它是接收结果的活动,根据该结果,您决定采取进一步采取的行动,通知您的碎片或您需要的任何内容。