Android 如何使用代码恢复上一个活动?

Android 如何使用代码恢复上一个活动?,android,android-activity,Android,Android Activity,我正在使用两个活动第一个活动包含一些编辑文本,第二个布局在单击提交按钮时显示 因此,第一个活动处于暂停状态,当我从第二个布局按后退按钮时,第一个布局将恢复(即恢复前一个状态) 现在,我需要在我自己的后退按钮在屏幕上的后退按钮的行动 我在按钮单击中尝试了onFinish(),但上一个状态没有恢复 我也尝试过startActivityForResult 还有其他解决办法吗? 请分享你的想法。 提前感谢。调用活动的finish()方法。这将关闭第二个活动并恢复上一个活动。您必须确保第一个活动以某种方式

我正在使用两个活动第一个活动包含一些编辑文本,第二个布局在单击提交按钮时显示

因此,第一个活动处于暂停状态,当我从第二个布局按后退按钮时,第一个布局将恢复(即恢复前一个状态)

现在,我需要在我自己的后退按钮在屏幕上的后退按钮的行动

我在按钮单击中尝试了onFinish(),但上一个状态没有恢复

我也尝试过startActivityForResult

还有其他解决办法吗? 请分享你的想法。
提前感谢。

调用活动的
finish()
方法。这将关闭第二个活动并恢复上一个活动。

您必须确保第一个活动以某种方式(例如,使用捆绑包、数据库、静态、应用程序类等)将其状态保存在onPause中,然后再从onResume中的持久状态重新设置状态。

请尝试将状态保存在onPause中

  @Override
protected void onSaveInstanceState(Bundle outState) {
    // TODO Auto-generated method stub
    super.onSaveInstanceState(outState);
}

我不认为调用finish();从arnab看来,答案是正确的。你应该说:

intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

而不是完成();但高于星体触觉()

这不会自动恢复第一个活动的状态。它肯定会恢复活动堆栈中的最后一个活动。你说它不会自动恢复第一个活动的状态是什么意思(假设你调用第二个活动时没有关闭第一个活动。在这种情况下,你必须触发新的意图并手动恢复其状态)。@Aki我找到了解决方案。您是对的,问题出在功能流程中。第一个活动将调用onPause。。。如果在onPause中有某个阶段(例如,在列表视图中的位置)而在onResume中没有保留,则在onResume中恢复。。当您返回时,它将丢失。listview中的位置将保持不变。ya第一个活动将执行保存的实例。当按下phone back按钮时,我可以恢复第一个活动。仅当第一个活动如我所说在onPause中正确保存状态时。例如,如果它在listview上有一个当前位置,而您不保存该位置并在Resume上恢复它,它将丢失。True@IDontEvenKnow。希望旗子活动重新排序将保持第二个活动仍然有效。顺便提一下,这个问题是我在启动android时提出的。我想要的是,只需按一下按钮就可以执行正常的返回操作。我们可以使用“finish()”或“onBackPressed()”来解决我的问题。如果我错了或不清楚,请告诉我。