>编辑:
我有一个DialogFragment
,在我更改设备方向后,父Activity
内的引用为 NULL。我该如何解决这个问题?
片段创建:
MyFragment myFragment = MyFragment.newInstance(title);
myFragment.show(getFragmentManager(), tag);
方向改变后:
MyFragment myFragment = (MyFragment)getFragmentManager().findFragmentByTag(tag);
myFragment.dismiss(); //NULL pointer exception here
myFragment.setRetainInstance(true);
用于救援。
编辑:
同时覆盖对话片段中的onDestroyView
:
@Override
public void onDestroyView() {
if (getDialog() != null && getRetainInstance())
getDialog().setOnDismissListener(null);
super.onDestroyView();
}
这是以下问题的结果:http://code.google.com/p/android/issues/detail?id=17423