gpt4 book ai didi

java - Activity 关闭后显示 AlertDialog

转载 作者:行者123 更新时间:2023-11-29 03:12:50 24 4
gpt4 key购买 nike

我习惯于将 this 传递给任何采用 Context 的方法。如果我在内部类中,我将传递 OuterClassName.this。这可能是不好的做法,但我从来没有找到我应该做什么的明确答案。

我有一个使用 Volley 加载一些 JSON 数据的 Activity ,如果出现错误,onError 回调会显示一个对话框(使用 OuterClassName.this 作为上下文构建)。

但是,如果用户在发生错误时已经离开该 Activity (按下后退按钮),则应用程序会崩溃:

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@422a88e8 is not valid; is your activity running?

当然,我的 Activity 没有运行。但我仍然想显示对话框。我怎样才能做到这一点?

最佳答案

根据设计,您不应在 Activity 完成后显示任何 Dialog。因此,在您的情况下,要停止弹出对话框窗口并避免 BadTokenException,您可以尝试如下操作:

if(!YourActivity.this.isFinishing()){
//show dialog on error
}

但是,如果您仍然坚持弹出对话框,那么您可以做的是:

if(!YourActivity.this.isFinishing()){
//show dialog on error
}
else{
//launch a new activity which should take care of error msg dialog
}

关于java - Activity 关闭后显示 AlertDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28389555/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com