DialogFragment:如何防止保存状态?

时间:2014-06-09 21:38:10

标签: java android android-dialogfragment

我有几个类扩展DialogFragment来显示弹出窗口。用于显示弹出数据的模型类来自一个我无法更改的库。

public class MyFragment extends DialogFragment {
   private List<MyModel> modelData;
 ...
}

现在,显示DialogFragment,如果我点击主页按钮,我就会崩溃

  

06-09 17:21:04.265:E / AndroidRuntime(31470):java.lang.RuntimeException:Parcel:无法编组值.....

显而易见的解决方法是更改​​MyModel类以实现Parcelable。我用类似的情况尝试了它并且它可以工作但不幸的是我在DialogFragments中使用的所有模型类都在库中,我无法更改为使它们成为Parcelable而我不想做任何包装类。

我不支持方向更改,我没有任何用例需要保留对话框的内容。有什么方法可以简单地忽略状态保存过程,这样可以防止这种崩溃吗?

1 个答案:

答案 0 :(得分:1)

我想通了,我只是想发布解决方案以防万一其他人遇到同样的情况。我只需要像这样覆盖onPause

@Override
public void onPause() {
    super.onPause();
    dismissAllowingStateLoss();
}