閉じる

startActivityForResultと onActivityResultと Fragment

Activityを開始するとき、activity.startActivity(…)やら activity.startActivityForResult(…)を呼ぶわけだけど、この時の activityって contextに近い意味しか無いと思ってたら違った。
というのも、Fragmentから getActivity().startActivityForResult(…)と呼んだ結果、fragment.onActivityResultが呼ばれないことに気がついたから。
しばらく調べて、Fragmentにも startActivityForResultというメソッドがあることに気がついた。
そう、getActivity().startActivityForResult(…)を呼んだら、getActivity().onActivityResultが呼び出され、fragment.startActivityForResult(…)と呼び出せば fragment.onActivityResultが呼ばれるわけだ。
まぁ わかってしまえば当たり前の話。

コメントを残す

メールアドレスが公開されることはありません。必須項目には印がついています *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)