快速有效解決Fragment中onActivityResult不回調的問題

應用場景:MainActivity嵌套了四個Fragment,信誓旦旦的在Fragment中打開一個功能頁QrCodeActivity,在QrCodeActivity頁面setResult(RESULT_OK, resultIntent);但是我的Fragment中的onActivityResult方法並沒有執行到回調,網上有很多種方法,有的很複雜,下面提供一種簡單有效的解決方案。

1.在Fragment對應的MainActivity中,重寫了onActivityResult方法,確保加上super.onActivityResult,哪怕MainActivity什麼都不做:

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
}

2.在Fragment中打開新的頁面時,不用使用getActivity().startActivityForResult方式,而是直接用startActivityForResult,使用Fragment自己的context開啓頁面。

3.在Fragment中實現onActivityResult方法,肯定能走到監聽。

如果還不好用,請來打我~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章