4

编辑:

更改设备方向后,我有一个DialogFragment父项内部的引用Activity为 NULL 的位置。我该如何解决?

片段创建:

MyFragment myFragment = MyFragment.newInstance(title);
myFragment.show(getFragmentManager(), tag);

方向改变后:

MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag(tag);
myFragment.dismiss();  //NULL pointer exception here
4

1 回答 1

3

myFragment.setRetainInstance(true);为救援。


编辑:

onDestroyView在你的 DialogFragment 中也覆盖:

@Override
public void onDestroyView() {
  if (getDialog() != null && getRetainInstance())
    getDialog().setOnDismissListener(null);
  super.onDestroyView();
}

这是以下问题的结果:http ://code.google.com/p/android/issues/detail?id=17423

于 2013-01-21T20:55:27.450 回答