android - 完成活动时跳过后堆栈中的项目?
问题描述
我有一个显示项目列表的活动。当您点击一个项目时,它会启动另一个活动以查看该项目的详细信息。在详细信息活动中,如果单击编辑按钮,它将启动第三个活动来对其进行编辑。
在编辑活动的 UI 中,我有一个删除按钮。当点击按钮并删除项目时,我想返回项目列表,即第一个活动。但是,如果我只是调用finish()
编辑活动,它将返回到详细信息活动。这是不对的,因为该项目不再存在 - 它刚刚被删除。
处理这个问题的最佳方法是什么?我可以创建一个 Intent 并启动列表活动的一个新实例,但这似乎不是正确的做法。完成一项活动时,是否可以从后台堆栈中弹出多个项目?
解决方案
在基于Activity
您正在启动的交互的意外事件的情况下,您可以使用startActivityForResult()
并OnActivityResult()
结合您需要了解的结果setResult()
。Activity
然后你也可以根据结果完成你的中间活动。看看这个链接。
推荐阅读
- javascript - q-img 调用计算函数不显示图像 Quasar
- c# - 为什么 C# 不对不可为空的长字段发出警告?
- python - 如何获得熊猫条形图的颜色
- pyspark - 在火花中创建表需要很多时间
- numpy - sparkSQL 过滤器功能不适用于 NaN
- c# - 设置 Response.Cookies[ASP.NET_SessionId].Secure = true; 在代码中清除我的 HttpContext.Current.Session["anyData"]
- c++ - 如何使用 OpenMP 并行化嵌套的 for 循环
- java - 如何用逗号分隔递归字符串
- python - 断言 self.selection 不是无,“字段 %s 没有选择”% self
- flutter - Flutter:如何等待异步功能完成?