2017-05-31 78 views
-4

我試圖將Activity的onActivityResult()發佈到它的子片段並獲得了NPE。我不知道爲什麼片段爲空。getSupportFragmentManager()。getFragments()NPE

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

    for (Fragment fragment : getSupportFragmentManager().getFragments()) { 
     if (fragment != null) { 
      fragment.onActivityResult(requestCode, resultCode, data); 
     } 
    } 
} 

錯誤時拋出
顯示java.lang.NullPointerException:嘗試調用虛擬方法 '無效android.support.v4.app.Fragment.onActivityResult(INT,INT,android.content.Intent)' 上null對象引用

+0

發佈完整代碼,其中包含循環 – tompadre

+0

我現在知道原因。 Thx都一樣。 –

+0

'我現在知道原因。' - 爲什麼你不回答呢? –

回答

0

在FragmentManager中有一個使用「mActive.set(f.mIndex,null);」的方法「makeInactive(Fragment f)」;將片段設置爲null。我應該認爲它只是從列表中刪除片段,而不是將null設置爲它。

相關問題