Java 如何在特定屏幕后关闭特定活动?

Java 如何在特定屏幕后关闭特定活动?,java,android,android-intent,android-activity,activity-finish,Java,Android,Android Intent,Android Activity,Activity Finish,有4项主要活动: ProfileMenu.class CreateNewProfileStepOne.class CreateNewProfileStepTwo.class MainMenu.class 假设用户在ProfileMenu.class中选择“创建新配置文件”作为操作。这将启动CreateNewProfileStepOne.class,用户在其中输入数据,如名称、地址等。CreateNewProfileStepOne.class中也是如此。此时

有4项主要活动:

    ProfileMenu.class

    CreateNewProfileStepOne.class

    CreateNewProfileStepTwo.class

    MainMenu.class
假设用户在ProfileMenu.class中选择“创建新配置文件”作为操作。这将启动CreateNewProfileStepOne.class,用户在其中输入数据,如名称、地址等。CreateNewProfileStepOne.class中也是如此。此时,用户可以自由地在CreateNewProfileStepOne和CreateNewProfileStepTwo之间来回移动,所有数据都将通过意图保存和传递。如果用户从CreateNewProfileStepOne.class备份,则所有输入的数据都将丢失,用户将不得不重新输入

但是,在点击CreateNewProfileStep2.class活动中的“确认配置文件”按钮后,我想将用户发送到MainMenu.class,并删除先前的活动ProfileMenu、CreateNewProfileStepOne和CreateNewProfileStep2


当我进入MainMenu.class时,如何正确地终止这3项活动?据我所知,finish()只作用于一个且只有一个活动——调用它的当前活动。在我准备好输入D之前,我不想杀死A、B或C。当我输入D时,我想同时杀死A、B和C。

当您离开活动转到另一个活动时,活动将被杀死。通过重新创建这些活动,可以在这些活动之间来回切换

当您离开活动转到其他活动时,这些活动将被终止。通过重新创建这些活动,可以在这些活动之间来回切换

创建
意图时
要启动
主菜单
请将此标志添加到意图:


创建
意图
以启动
主菜单时,不会保留任何历史记录,并且用户将无法返回到以前的活动


不会保留任何历史记录,用户将无法返回到以前的活动

好的。不过,出于好奇,如果我真的想杀死B和C,但留下一个空间让它返回,如果从D回击/返回呢?如果你不想将结果返回到活动A,只需使用
startActivity
startActivityForResult
启动它。如果需要返回结果,请使用以下标志启动活动B和C:`flag_ACTIVITY_EXCLUDE_FROM̀,B和C不会保留在历史记录中,您将返回到非常有用的活动。非常感谢。好吧不过,出于好奇,如果我真的想杀死B和C,但留下一个空间让它返回,如果从D回击/返回呢?如果你不想将结果返回到活动A,只需使用
startActivity
startActivityForResult
启动它。如果需要返回结果,请使用以下标志启动活动B和C:`flag_ACTIVITY_EXCLUDE_FROM̀,B和C不会保留在历史记录中,您将返回到非常有用的活动。非常感谢。我懂了。假设用户在编辑文本框中输入了一些数据,然后移动到另一个屏幕上。当用户按下系统后退按钮时,该文本仍将存在。但当用户按下操作栏向上按钮时,一切都会重置。如何重新创建“后退”按钮的内存?我必须使用意图吗?我明白了。假设用户在编辑文本框中输入了一些数据,然后移动到另一个屏幕上。当用户按下系统后退按钮时,该文本仍将存在。但当用户按下操作栏向上按钮时,一切都会重置。如何重新创建“后退”按钮的内存?我必须使用意图吗?
Intent i = new Intent(MyCurrentActivity.this, MainMenu.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);