我有一个使用startActivityForResult(intent,634)
的 Activity 。如果我从 Activity 中使用它,则onActivityResult()
中的requestCode可以。但是,如果我在本 Activity 中使用DialogFragment中的startActivityForResult(intent,634)
,则会得到另一个requestCode,类似于66170。那么为什么会发生这种情况?
最佳答案
发生这种情况的原因是,如果您从对话框中使用startActivityForResult
,则在onActivityResult
中会获得对话框的requestCode。不是来自您的另一个 Activity 。而且,如果您想获得正确的requestCode,则应在DialogFragment中使用getActivity().startActivityForResult(intent,requestCode)
。