Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓堆栈。在这种情况下如何使用标志?_Android_Android Intent - Fatal编程技术网

Android 安卓堆栈。在这种情况下如何使用标志?

Android 安卓堆栈。在这种情况下如何使用标志?,android,android-intent,Android,Android Intent,以下是我的情况: 我有主活动,四个工具栏活动,用户可以从始终可见的工具栏和其他活动启动 我想要什么: 应用程序从主活动开始。然后用户转到主->工具栏活动(1)-其他活动(1)-其他活动(2)-…-活动(2)。 启动TOOLBARActivity(2)时,我需要清除从Main到TOOLBARActivity(2)的所有堆栈。所以,如果用户现在按下后退按钮,他将返回到主要活动 所以,我只需要找到清除堆栈中除第一个活动外的所有活动的方法。当您转到第二个活动时,您可以这样使用: intent = new

以下是我的情况: 我有主活动,四个工具栏活动,用户可以从始终可见的工具栏和其他活动启动

我想要什么: 应用程序从主活动开始。然后用户转到主->工具栏活动(1)-其他活动(1)-其他活动(2)-…-活动(2)。 启动TOOLBARActivity(2)时,我需要清除从Main到TOOLBARActivity(2)的所有堆栈。所以,如果用户现在按下后退按钮,他将返回到主要活动


所以,我只需要找到清除堆栈中除第一个活动外的所有活动的方法。

当您转到第二个活动时,您可以这样使用:

intent = new Intent(this,SecondActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
StartActivity(intent);

此标志清除活动堆栈顶部

清除顶部不执行任何操作。如果我用意向标志CLEAR_TOP启动触觉,那么我仍然可以返回到以前的活动