Fragment中startActivityForResult不回調onActivityResult問題

問題

一次開發中,突然發現Fragment中的onActivityResult方法不回調了?使用的fragment是v4版本的,調用的是fragment的startActivityForResult()。

排查

首先檢查fragment所在Activity,發現Activity中存在onActivityResult,fragment發起startActivityforResult後這裏是會被調用的,但是fragment中的不調用。這時如果把Activity中的onActivityResult去掉,fragment中又可以回調了,那麼問題很明確是出在Activity中了.

解決

原因是Activity的onActivityResult,如果想把result繼續傳到子Fragment中,必須調用 super.onActivityResult(requestCode, resultCode, data);

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章