在Fragment中跳轉到另一個Activity,傳回時是調用Activity的onActivityResult呢?還是調用Fragment的onActivityResult呢?
我當然知道,隻不過我再碰到時忘記了,然後每次忘記都要從新去網上找,不如做個Test然後記錄下來。
情況一
如果在Fragment中使用的是getActivity().startActivityForResult()
那麼傳回時隻會調用Activity的onActivityResult

情況二
如果在Fragment中使用的是startActivityForResult()
那麼傳回時會先調用Fragment的onActivityResult,再調用Activity的onActivityResult。
關鍵是請求參數requestCode在兩個地方還不同,我測試3次,結果如下:
可以發現在activity中的requestCode 是 requestCode + 65536
是以如果你要在兩個地方都做操作的話注意一下這個requestCode 。
最後科普一下這個65536是什麼意思: 65535是16位二進制能表示的最大數值,也就是0xFFFF
源碼這次就不走了,真的沒時間走源碼