我有一个使用startActivityForResult(intent,634)
的活动。如果我在活动中使用它,onActivityResult()
中的requestCode就可以了。但是如果我在这个Activity中使用DialogFragment中的startActivityForResult(intent,634)
,我会得到另一个requestCode,比如66170.那为什么会发生呢?
答案 0 :(得分:42)
之所以会发生这种情况,是因为如果您在对话框中使用startActivityForResult
,则会在onActivityResult
中获得对话框的requestCode。不是来自你的另一个活动。如果你想获得正确的requestCode,你应该在DialogFragment中使用getActivity().startActivityForResult(intent,requestCode)
。