27

我有一个我使用的活动startActivityForResult(intent,634)。如果我从活动中使用它,requestCode inonActivityResult()就可以了。但是如果我startActivityForResult(intent,634)在这个 Activity 中使用我的 DialogFragment,我会得到另一个 requestCode,比如 66170。那么为什么会这样呢?

4

1 回答 1

45

发生这种情况是因为如果您startActivityForResult从对话框中使用,onActivityResult您将获得对话框的 requestCode。不是来自您的另一个活动。如果你想得到正确的 requestCode,你应该getActivity().startActivityForResult(intent,requestCode)在 DialogFragment 中使用。

于 2012-12-01T13:26:26.743 回答