gpt4 book ai didi

java - 快速点击时,先前的 Activity 会进入前台

转载 作者:行者123 更新时间:2023-12-01 04:52:59 24 4
gpt4 key购买 nike

我遇到这样一种情况, Activity A 启动了 Activity B,然后 B 启动了 Activity C 并自行完成,如下所示:

Intent intent = new Intent(getBaseContext(), Main.class);
intent.putExtra("GAME_TYPE", Game.MULTIPLAYER);
intent.putExtra("GAME_DATA", data.toString());
intent.putExtra("GAME_ID", gameId);
startActivity(intent);
finish();

这通常工作正常并且 C 被带到前面。当用户关闭 C 时,A 就会显示出来。

如果用户在 B 正在完成且 C 正在启动时重复点击屏幕,就会出现问题。这似乎导致 A 来到前台,而 C 在后台成功启动(LogCat 输出表明 C 正在运行)。

我的猜测是,在 C 有机会发射之前,B 完成并显示了 A,通过点击使 A 成为焦点。这可能是问题的原因吗?如果不是,那是什么?如何防止这种情况发生,并确保即使用户疯狂点击,C 也会被带到前面?

最佳答案

我不确定您的代码和 xml 的具体结构,但一个简单的解决方法是使 Activity A 正在运行的布局在调用 onStop 后不可单击。

我建议的另一件事是检查 Activity B 如何完成和 C 如何开始。你是在 C 开始之前调用 B 的结束吗? C是否需要加载大量数据导致延迟?如果是这样,请考虑等待部分或全部大量数据加载,然后启动 C。

没有源代码,就没什么可说的了。

关于java - 快速点击时,先前的 Activity 会进入前台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633632/

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