当前位置: 首页 > 知识库问答 >
问题:

轮换活动后活动结果代码不正确

章涵蓄
2023-03-14

我有两个活动A和B。A启动活动B。在活动B中,我在按钮单击处理程序中调用setResult(RESULT_OK,intent),而不调用finish()-这是理想的行为。

旋转B并按back后,A的onActivityResult接收resultCode的RESULT_Cancelled,而不是RESULT_ OK。

我知道这是因为活动B在旋转时被破坏了。确保从B返回正确的结果代码的常见做法是什么?

我最初的想法是将mResultCode保存在onSaveInstanceState中。

共有1个答案

上官联
2023-03-14

将结果保存在onSaveInstanceState中,并在onRestoreInstanceState方法中再次设置结果。

关于恢复实例状态:

当活动从以前保存的状态重新初始化时,在onStart()之后调用此方法,在savedInstanceState中给出。大多数实现将简单地使用onCreate(Bundle)来恢复其状态,但有时在所有初始化完成后在此处执行此操作或允许子类决定是否使用您的默认实现是方便的。此方法的默认实现执行对之前被onSaveInstanceState(Bundle)冻结的任何视图状态的恢复。

此方法在onStart()和onPostCreate(Bundle)之间调用。

 类似资料:
  • 我将setResult(200)放在子活动的onCreate()中。 但是一旦我从父级调用finishActivity(),我就得到了结果代码0。 我不知道如何解释这种情况。 父级是: 孩子: 更新: 我明白将在子活动结束时被调用。 调用 不会获取子活动的 ActivityResult。 但是我想知道一旦子活动被父活动破坏,获取ActivityResult(结果代码和意图数据)的正确方法。 有什么

  • 我已使用 startActivityForResult 从父活动启动了子活动。在子活动中执行所需功能后,我正在使用setResult设置结果。但是我没有从孩子活动中获得父母活动的结果。 这是我的代码。 下面是我如何从父活动中调用子活动。 这是我如何设置子活动的结果。 这是我的onActivityResult 这里是当我检查resultCode==活动时。RESULT_OK给出false。我还检查了

  • 我把一个额外的动作从第一个动作传给第二个动作。我验证传递给第二个活动的内容。我让它按我的计划运行。我的问题是如何将字符串值传递回第一个活动。 这里我把第一个活动称为第二个活动。 在第二个活动中,我像这样从第一个活动接收数据 我对从第一个活动传递的额外内容执行验证,并希望将单个字符串传递回第一个活动。在第二个活动中,我加载了一个RecyclerViewer并在我尝试过的onClick上。 我的问题至

  • 我是android新手,我为自己写了一个代码,当按下按钮时,它会切换到另一个活动,但我想把它连接到密码和用户名。 如果“用户名”

  • 这是我的osgi项目的另一个问题。我得到以下错误代码: !会话2015-10-26 10:50:01.671--------------------------------------------------------------------------------------------------------------------------------------------------

  • 下面的代码为按钮添加缩放动画。 播放完动画后,我需要切换到其他活动。我试图建立如下逻辑: Android Studio发誓:新动画。动画监听器()