2012-12-01 10 views
25

私にはstartActivityForResult(intent,634)というアクティビティがあります。私が活動からそれを使用している場合、onActivityResult()のrequestCodeはOkです。しかし、このアクティビティのDialogFragmentからstartActivityForResult(intent,634)を使用すると、66170のような別のrequestCodeが取得されます。その理由は何ですか?なぜrequestCodeが間違っていますか?

答えて

40

ダイアログからstartActivityForResultを使用すると、onActivityResultにダイアログのrequestCodeが表示されるため、これが発生します。あなたの別のアクティビティからではありません。正しいrequestCodeを取得したい場合は、DialogFragmentにgetActivity().startActivityForResult(intent,requestCode)を使用する必要があります。

+13

愚かな質問のようなものはありません – vodich

+1

全く愚かではありません。私はまったく同じ問題に遭遇した。それは非常に混乱する動作です。 – ajselvig

+0

フラグメントからStartActivityForResultを呼び出すときに同様の問題が発生しました –

関連する問題