2

如果我有以下

家长活动 > 活动 1 > 活动 2 > 活动 3

按返回按钮将返回:父活动 > 活动 1 > 活动 2

再次按下将转到:家长活动 > 活动 1

有什么方法可以让我从活动 3 本身以编程方式完成活动 1,2 和 3。

在 IOS 中有一个名为 popToRootViewControllerAnimated 的函数,这是我在 Android 中需要的概念类型

谢谢

4

4 回答 4

1

在您从上一个活动中调用 startActivity 时添加标志 Intent.FLAG_ACTIVITY_CLEAR_TOP。它将清除活动堆栈

于 2012-12-17T18:22:21.263 回答
1

startActivityForResult()使用然后在onActivityResult()调用中启动子活动finish()。这将带您回到父活动。

或者,您也可以在从活动 3FLAG_ACTIVITY_CLEAR_TOP调用父活动时使用 Intent 标志。startActivity()

于 2012-12-17T18:20:07.230 回答
0

如果您来自 activity3,请检查 activity2 的 onResume(),如果是,请调用 finish()。活动1相同。

于 2012-12-17T18:41:25.960 回答
0

也许这个算法会很有用;

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    switch(keyCode)
    {
    case KeyEvent.KEYCODE_BACK:
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            //here you'll check if activity3 alive then join
            //else if activity2 alive then join
            //else if activity1 alive then join
            //else finish(); 
        }
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-12-17T19:02:22.823 回答