gpt4 book ai didi

Android Activity.startActivity() 和 Dialog.show() 顺序

转载 作者:搜寻专家 更新时间:2023-11-01 09:15:37 27 4
gpt4 key购买 nike

当用户启动我的应用程序时,我需要显示类似 EULA 的对话框,但我的应用程序还有一个需要在对话框之前显示的启动画面。我这样编码:

Activity A.onCreate(...) {
...
1. startActivity(Activity B) [this activity calls .finish() after x seconds]
2. dialog.show()
...
}

从逻辑上讲,这似乎应该可行。但是,当我从 Activity B 返回到 Activity A 后,整个屏幕变暗,就像正在显示对话框一样,但没有对话框窗口。

我能够通过反转调用来解决这个问题,并且对话框在 Activity B 完成后显示并且没有发生奇怪的问题:

Activity A.onCreate(...) {
...
1. dialog.show()
2. startActivity(Activity B) [this activity calls .finish() after x seconds]
...
}

有人知道为什么调用顺序如此重要吗?对我来说,它们的工作原理应该相同。

最佳答案

这两个函数都是异步函数。这意味着代码执行不会在它们上面暂停,而是继续调用下一行。

您需要等待一个返回,然后再调用下一个,而不是一个接一个地调用它们。如果您想首先显示对话框,请添加 onDismissListener监听对话框何时关闭。在该监听器中,您可以开始下一个 Activity 。

关于Android Activity.startActivity() 和 Dialog.show() 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4927456/

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