有时,我会得到
java.lang.IollegalStateException之后无法执行此操作onSaveInstanceState
当我尝试显示CCD_ 1时。
所以现在的问题是,在涉及到像这样的show方法之前,我如何写一个if语句来判断当前状态?
if(!isAfterOnSaveInstanceState())
dialog.show(getSupportFragment(),"MY DIALOG");
因为我注意到DialogFragment
拥有方法dismissAllowingStateLoss()
,但在显示时缺乏允许状态丢失的方法,所以DialogFragent
的设计可能希望开发人员在调用show
方法之前进行判断。
提前谢谢。
onSaveInstanceState()
:如果调用,此方法将出现在onStop()
之前。不能保证它会发生在onPause()
之前还是之后。您可以在显示DialogFragment
0 之前检查isFinishing()
if(!isFinishing()) {
// your code goes here...
}
更多详细信息:链接-1,链接-2,链接-3