安卓开发中onSaveInstanceState之后如何判断



有时,我会得到

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

当我尝试显示CCD_ 1时。

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

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

因为我注意到DialogFragment拥有方法dismissAllowingStateLoss(),但在显示时缺乏允许状态丢失的方法,所以DialogFragent的设计可能希望开发人员在调用show方法之前进行判断。

提前谢谢。

onSaveInstanceState():如果调用,此方法将出现在onStop()之前。不能保证它会发生在onPause()之前还是之后。您可以在显示DialogFragment0 之前检查isFinishing()

if(!isFinishing()) {
// your code goes here... 
}

更多详细信息:链接-1,链接-2,链接-3

最新更新