我尝试将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)'
答案 0 :(得分:0)
有一种方法" makeInactive(Fragment f)"在FragmentManager中使用" mActive.set(f.mIndex,null);"将片段设置为null。我应该认为它只是从列表中删除片段而不是为它设置空值。