- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个关于 Activity.finish()
的问题。
在我的 Android 代码中,有 4 个 Activity (A、B、C、D)。开始 Activity A 调用 startActivityForResult(intent, reqCode)
来开始 Activity B。 B开始C,然后finish()
,不等待结果。 C 与B 完全相同,开始D 然后是finish()
。 D 将通过setResult(resultCode)
返回一些结果。
当我的代码运行并且 Activity D 返回一些结果时,A 将在 onActivityResult()
上捕获 RESULT_CANCELED
>,即使 RESULT_OK
在 D 中返回。我猜 RESULT_CANCELED
来自 Activity B,它在 D 返回结果之前已被终止,而不是来自 D。
但是,我的问题是,为什么 Activity A 在 D 返回一些结果之后捕获 RESULT_CANCELED
,而不是在 B< 之后立即捕获/strong> 终止了吗?而且,我应该怎么做才能使 A 从 D 捕获结果?我是否必须让 B 和 C 保持 Activity 状态,才能将结果从 D 传递给 A?
最佳答案
根据您的解释,我了解到 Activity A 开始B 开始C 和C 开始 D.
B 在启动 C 之后调用 finish()
并且 C 也做同样的事情。
由于 B 已被 A 启动,它将等待 B 的结果,因为 A没有链接到D,即使D返回一些结果也没关系。
如果你想在 A 的 onActivityResult()
中得到 RESULT_OK
,你必须从 B< 接收有效结果/强>。为此,您必须在 C 中接收 D 的结果,然后将其传递给 B,然后从 B 传递它到A。
你可以在B和C的onActivityResult()
中调用finish()
,将结果返回给他们各自通过 Intent 调用 Activity 。
我想,我正确理解了你的问题。如有不妥,请见谅。
关于android - Activity.finish() 和 startActivityForResult() 如何相互协作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4162424/
这两者有区别吗? startActivity(intent); finish(); startActivity(intent); ThisActivityName.this.finish(); 注意:
我有一个包含大量 url 链接的 arrayOfLinks。我需要从这些链接中获取图像。我正在使用以下代码来执行此操作。 - (void)getImages { NSArray *links
我想创建一条执行以下步骤的路线 读取文件 将文件分割成行 使用 BeanIO 解码行 调用(昂贵且耗时的)处理器 我想在处理完所有线路后完成这条路线。 所以我的路线的基本布局如下所示: from("d
我正在使用 Nodejs。我有一个异步的 forEach,因为我必须在 forEach 中等待结果。结果,我需要等待 forEach 完成,然后继续处理循环的结果。我找到了几种等待 forEach 的
我正在编写需要背靠背内核调用的 android renderscript 代码(有时一个内核的输出成为另一个内核的输入)。我还有一些全局指针,绑定(bind)到 Java 层的内存。每个内核更新那些全
伪代码: void draw() { Vertex* vertices = scene.GetVertexArray(); glEnableClientState(...);
当我创建一个 Android 应用程序时,我首先在其中创建了主 Activity ,然后添加了启动 Activity 以及一个正常 Activity 。 所以我的问题是每当我在应用程序中单击退出时,它
我正在尝试将一些 API 数据获取到我的应用程序,并且我有两个 Activity 。第一个是启动屏幕(就像加载应用程序时谷歌使用的那样),我想知道在哪里调用 finish() 来结束 Activity
我使用 创建了“新文件” Activity startActivityForResult(new Intent(MainActivity.this, NewFile.class),1); NewFil
我有一个以 SingleTask 模式 (Android 2.2) 运行的 Activity ,该 Activity 从其他 Activity 或服务接收 Intent 。我的 Activity 将每
我编写了以下代码来使用 TextView 和按钮显示消息框。单击按钮时, Activity 应该完成。但这有时会起作用,但并不一致。有时它会挂起。如何让它始终如一地工作?请帮忙 public clas
我正在搜索,当 onDestroy 在 android 应用程序上执行时,我发现它是在设备资源不足(RAM、CPU) 时执行的,并且当用户调用 finish() 时。 例如,当我按下后退按钮从一个 A
我正在编写一个 Android 应用程序,它显示一个带有一些元素和一些 CRUD 操作的 RecyclerView。我想做的一件事是从我的 RecyclerView 更新现有元素,为此我打开一个新 A
被测试的 Activity 是一个简单的棋盘游戏。当满足游戏结束的必要条件时,在执行几项操作以显示谁赢了等之后,将运行以下代码: // Return to main menu after 5 seco
我有一个 Activity ,它创建了我创建的名为classA的类的新实例。在classA中,我有一个方法将对象添加到位于classA中的STATICarrayList。 所以我的 Activity
我正在使用 Facebook Android SDK,并希望在用户登录并获取用户对象后关闭我的 Activity。实际上,我存储了它的一部分,但无论如何我都想关闭该 Activity 。
我以前从事c# dotnet开发,有一个Application.exit()类型的方法,可以立即关闭应用程序并释放内存。 我发现 android 的“finish()”方法应该这样做 但它没有这样做,
我有一个 Activity ,我调用了 finish() 方法,但 Activity 没有从内存中清除。 调用 finish() 后,我看到方法 onDestroy() 已成功执行(并且我清除了其中的
我想在我的MKMapView上设置一个区域,然后找到与 map 的东北角和西南角对应的坐标。 This code works just fine to do that: //Recenter and
我正在尝试使用从顶部滑动动画将一个 View 替换为另一个 View 。我有点遵循 http://gentlebytes.com/2011/09/auto-layout-in-lion/ 中发布的指南
我是一名优秀的程序员,十分优秀!