android片段方向改变

时间:2012-09-19 08:27:44

标签: android android-fragments android-orientation android-dialogfragment

修改

我有一个DialogFragment,在更改设备方向后,父Activity内的引用为NULL。我该如何解决这个问题?

片段创建:

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

改变方向后:

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

1 个答案:

答案 0 :(得分:3)

myFragment.setRetainInstance(true);救援。


修改

同样覆盖DialogFragment中的onDestroyView

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

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