Android - 后退按钮重启Activity

时间:2013-02-05 17:41:01

标签: android android-intent android-activity

我有4个活动,我的导航是这样的:

第一项活动 - >第二项活动 - >第三项活动 - >第四项活动 - >第三项活动

当我现在从'第三个活动'按返回时,它会转到第四个活动。但是我希望它转到第二个活动。所以,我在第三个活动中覆盖了 onBackPressed()方法: startActivity(this,SeconActivity.class)

问题:当我第一次从第一个活动 - >导航时第二项活动,我启用停用按钮,这些按钮来自 onCreate ()方法中第一项活动的一些输入。因此,当我从第三个活动导航时,我希望保留这些更改 - >第二项活动。有什么想法吗?

3 个答案:

答案 0 :(得分:1)

通过startActivityForResult启动第4个活动。如果您想再次调用第3个活动,只需通过onActivityResults()返回配置第3个活动所需的结果。

第3个活动伪代码:

final int FOURTH_RESULTS=101;

startActivityForResults(Intent fourthActivityIntent, FORTH_RESULTS

protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    switch (requestCode)
    {
        case FORTH_RESULTS:
            //Do stuff here
            break;
    }
}

第4个活动伪代码(将其放置在您用于调用第3级的位置)

Intent result = new Intent();              
setResult(Activity.RESULT_OK, result);

另见the API

答案 1 :(得分:0)

了解有关此主题的信息的活动启动模式,singleTop过去曾为我工作过。

http://developer.android.com/guide/topics/manifest/activity-element.html

答案 2 :(得分:0)

如果您需要执行复杂的流程,我建议使用此库

http://www.androidviews.net/2012/11/wizardpager/

这是一种强制执行某种流程到您的Android应用程序的好方法。