getSupportFragmentManager()。getFragments()NPE

时间:2017-05-31 09:49:28

标签: android onactivityresult

我尝试将Activity的onActivityResult()发布到其子片段并获得NPE。我不知道为什么片段是null。

@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:尝试在空对象引用上调用虚方法'void android.support.v4.app.Fragment.onActivityResult(int,int,android.content.Intent)'

1 个答案:

答案 0 :(得分:0)

有一种方法" makeInactive(Fragment f)"在FragmentManager中使用" mActive.set(f.mIndex,null);"将片段设置为null。我应该认为它只是从列表中删除片段而不是为它设置空值。