Android活动流程&向上/向后导航

时间:2012-11-28 11:49:55

标签: android

我正在开发一个包含4项活动的Android应用程序:

A - > B - > C - > d

当我从A到B,从B到C,或从C到D时,我在意图中添加了一些额外内容。

我想这样的导航非常简单:没有必要重新定义后退按钮,而对于“向上”操作栏按钮,一个简单的“完成()”将是纠正这样做的方式(? )

现在,问题是从A,我也可以直接进入D.仍然无需重新定义后退按钮,它将返回到A,这就是我想要的,但对于“向上”按钮,它必须转到C,然后从C,up将导致B,......

这样做的正确方法是什么?

感谢您的回答

3 个答案:

答案 0 :(得分:0)

其中一种方法是实际拥有相同的堆栈,但使用额外的东西来执行切换。

For Instance:当你想要从A - >; d 从A-> B-> C-> D开始并使用意图来处理您是想简单地绕过活动还是显示它。反向用户resultIntent的情况也是如此。

答案 1 :(得分:0)

为了明确控制各种活动之间的流程,当我通过开始一项新活动回应用户输入时,我在每个活动中调用finish()

startActivity(intentForNewActivity);
finish();

这会导致orignal Activity的实例被破坏。在每个活动中,我创建一个Intent来启动我想要返回的活动。然后写:

@Override public void onBackPressed() {
    startActivity(intentWhereIWantToGoNext);
    finish();
}

我最初在这里写道,我在onStop()中调用了finish(),它在应用程序保持运行时工作,但如果应用程序因任何原因停止,则无法提供所需的结果。对于这种困惑感到抱歉,感谢PravinCG,虽然他的评论并没有完全走上正轨,但至少让我更仔细地思考。

答案 2 :(得分:0)

将以下代码放在最后一个括号之前。

@Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        finish();
    }