Activity.isFinishing() return 正确但错误
Activity.isFinishing() return true but is wrong
在显示对话框之前,我检查 activity 是否正在完成以避免应用程序崩溃。
if(!activity.isFinishing()){
showDialog();
}
但在某些情况下它 returns 是正确的,但 activity 没有完成,我可以继续使用我的应用程序,但是当我尝试显示一个对话框时它说 activity 是整理。
什么情况下会发生?
试试这个:
if(!activity.isDestroyed()) {
showDialog();
}
希望对您有所帮助。
我认为你的对话可能有问题
检查你的对话框:
if(mDialog.isShowing||mDialog.!=null){mDialog.finish();}
我发现了我的问题。
检查 if(!activity.isFinishing())
的 class 是 Singletone
,在某些情况下,当应用进入后台时,Activity
关闭,当应用返回时前台创建了一个新的 Activity
,而旧的 activity 仍在 Singletone
中并且没有更新。
所以我确保 Singletone
在这种情况下更新了 Activity
。
希望对大家有所帮助。
在显示对话框之前,我检查 activity 是否正在完成以避免应用程序崩溃。
if(!activity.isFinishing()){
showDialog();
}
但在某些情况下它 returns 是正确的,但 activity 没有完成,我可以继续使用我的应用程序,但是当我尝试显示一个对话框时它说 activity 是整理。
什么情况下会发生?
试试这个:
if(!activity.isDestroyed()) {
showDialog();
}
希望对您有所帮助。
我认为你的对话可能有问题 检查你的对话框:
if(mDialog.isShowing||mDialog.!=null){mDialog.finish();}
我发现了我的问题。
检查 if(!activity.isFinishing())
的 class 是 Singletone
,在某些情况下,当应用进入后台时,Activity
关闭,当应用返回时前台创建了一个新的 Activity
,而旧的 activity 仍在 Singletone
中并且没有更新。
所以我确保 Singletone
在这种情况下更新了 Activity
。
希望对大家有所帮助。