为什么我的requestCode出错了?

jum*_*r0k 27 android

我有一个我使用的活动startActivityForResult(intent,634).如果我从活动中使用它,requestCode in onActivityResult()是.但是如果我startActivityForResult(intent,634)在这个Activity中使用我的DialogFragment,我会得到另一个requestCode,比如66170.那为什么会发生呢?

jum*_*r0k 43

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

  • 没有愚蠢的问题 (13认同)
  • 一点都不傻。我遇到了完全相同的问题。这是非常令人困惑的行为。 (2认同)