android - 如何解决使用后退按钮相互调用的 2 个活动的 InstanceCountViolation?
问题描述
我有 2 项活动:
- 活动 A:显示带有价格的菜单项列表。单击一个项目将打开 Activity B
- 活动 B:编辑点击商品的价格。单击“完成”将返回活动 A
用例很简单,如下所示:
- 从活动 A 启动活动 B => 没有问题
- 单击B中的“完成”或返回按钮并返回A =>没有问题
- 再次从活动 A 启动活动 B => 没有问题
- 单击 B 中的“完成”或返回按钮并返回 A => 崩溃并出现错误:
2021-02-26 16:21:42.107 13116-13116/? D/StrictMode: StrictMode policy violation: android.os.strictmode.InstanceCountViolation: class package.editPriceActivity; instances=2; limit=1
at android.os.StrictMode.setClassInstanceLimit(StrictMode.java:1)
我认为单击“完成”按钮并返回时,应该自动杀死 Activity B 吗?(我也试过打电话finish()
,但错误仍然存在。
我在这里做错了什么?当用户需要在活动之间来回穿梭但避免违规时,如何以通用方式设计这样的事件?
解决方案
推荐阅读
- excel - 数据列表自动更新
- python - 标题占位符中的文本对齐与python pptx
- amazon-web-services - 在托管 apache 气流中设置自定义环境变量
- asp.net-core - 发送到 Web API 时,XML 正文为空/默认
- sql-server - 如何从 sql server 中的 XML 中提取 XPath?
- c# - 为什么单击警报对话框按钮后我的应用程序崩溃
- sql - 使用默认值向 PostgreSQL 添加列但不影响当前行
- artifactory - 自 2021 年 6 月 4 日起,Grails 2.4.0 无法将工件描述符解析到公共存储库
- unix - 从 Jenkinsfile 将多个参数传输到 shell 脚本
- npm - Nuxt 增加控制台中的内存使用量