gpt4 book ai didi

android - 当 Activity 回到前台时,AlertDialog 是不可见的

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:13:18 26 4
gpt4 key购买 nike

我写了一个程序支持下载文件。在此下载 Activity 中,我启动一个进度条,然后运行一个线程来执行下载操作。此线程向 UI 线程发送消息以通知已频繁下载了多少。在主(UI)线程中,我在收到消息时更新进度条显示。如果下载过程中出现任何问题,它将发送另一条消息。当主线程收到消息时,它停止进度条并弹出一个新的 AlertDialog 来显示错误原因。

这里对其进行特殊测试。下载时,将程序切换到设置。关闭WIFI/GPRS使网络关闭。

当我回到我的程序时,它应该显示背景 ui 和一个弹出的 AlertDialog 来显示我希望的原因。但它只显示背景ui(这意味着主要 Activity )并且背光半亮,就像弹出窗口一样。当我第一次按回键时,除了背光很亮之外什么也没有发生,就像我关闭了一个弹出窗口一样。

我想可能是因为当我启动 AlertDialog 时,我的 Activity 不在前台。

我尝试使用:

ActivityManager am = (ActivityManager)Update.this.getSystemService(Context.ACTIVITY_SERVICE);
ComponentName cn = am.getRunningTasks(1).get(0).topActivity;

判断top activity是不是我的。但我想显示对话框。如果用户没有看到该 Activity ,当他回到我的 Activity 时,我希望它显示对话框。

最佳答案

确实对话框已经显示但用户不可见,如果您旋转设备它就会变得可见。

如果关闭进度对话框并在 Activity 不在前台时立即显示另一个新对话框,似乎会出现刷新/绘图问题。在我的测试中,如果等待进度对话框的关闭操作完成然后显示新对话框,则不会发生此类问题。

因此,一种解决方案是先显示 AlertDialog,然后关闭 ProgressDialog。这适用于我的应用程序。

关于android - 当 Activity 回到前台时,AlertDialog 是不可见的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6303713/

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