我有4个活动,我的导航是这样的:
第一项活动 - >第二项活动 - >第三项活动 - >第四项活动 - >第三项活动
当我现在从'第三个活动'按返回时,它会转到第四个活动。但是我希望它转到第二个活动。所以,我在第三个活动中覆盖了 onBackPressed()方法: startActivity(this,SeconActivity.class)
问题:当我第一次从第一个活动 - >导航时第二项活动,我启用和停用按钮,这些按钮来自 onCreate ()方法中第一项活动的一些输入。因此,当我从第三个活动导航时,我希望保留这些更改 - >第二项活动。有什么想法吗?
答案 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应用程序的好方法。