經常會看見Activity嵌套Fragment中,從Fragment打開另一個Activity,
并重寫Activity與Fragment的onActivityResult()方法時,發現該Fragment的onActivityResult()方法不執行,
而執行Activity的onActivityResult()方法.究其原因,就是打開另一個Activity的方式不對.
在Activity中,有activity.startActivityForResult(intent, requestCode);
在Fragment中,同樣也有f.startActivityForResult(intent, requestCode);
也就是說 誰打開就調用誰的onActivityResult();
–
今天在做一個從相冊選擇圖檔作為頭像的功能,遇到了這個問題.
我的解決方法很簡單:在Fragment 跳轉相冊或者相機的時候,不要用
activity.startActivityForResult(intent, requestCode)
f.startActivityForResult(intent, requestCode);