0

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

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

当我现在从'第三个活动'往回推时,它转到第四个活动。但是我希望它去第二个活动。所以,我在第三个活动中重写了 onBackPressed()方法:startActivity(this , SeconActivity.class)

问题:当我第一次从第一个活动-> 第二个活动导航时,我根据onCreate () 方法中第一个活动的一些输入启用禁用按钮。因此,当我从第三个活动-> 第二个活动导航时,我想保留这些更改。有任何想法吗 ?

4

3 回答 3

1

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

第三次活动伪代码:

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);

另请参阅API

于 2013-02-05T17:44:14.820 回答
0

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

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

于 2013-02-05T17:44:02.513 回答
0

如果你需要做复杂的流程,我推荐使用这个库

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

这是在您的 android 应用程序中强制执行某种流程的好方法。

于 2013-02-05T17:44:13.353 回答