在Android开发中如何判断onSaveInstanceState?

时间:2015-12-30 03:34:01

标签: android android-activity dialog android-dialog dialogfragment

有时候,我会得到一个

  

java.lang.IllegalStateException之后无法执行此操作   的onSaveInstanceState

当我尝试显示DialogFragment时。

所以现在的问题是我如何在涉及这样的show方法之前编写if语句来判断当前状态?

if(!isAfterOnSaveInstanceState()) 
    dialog.show(getSupportFragment(),"MY DIALOG");

因为我注意到DialogFragment拥有方法dismissAllowingStateLoss()但缺少一种允许状态丢失的方法,可能是DialogFragent的设计希望开发人员在调用之前判断{ {1}}方法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

onSaveInstanceState():如果被调用,此方法将在onStop()之前发生。无法保证它是在onPause()之前还是之后发生。 您可以在显示isFinishing()

之前查看DialogFragment
if(!isFinishing()) {
// your code goes here... 
}

更多细节:link-1link-2link-3