主要有四项活动:
ProfileMenu.class
CreateNewProfileStepOne.class
CreateNewProfileStepTwo.class
MainMenu.class
假设从ProfileMenu.class中,用户选择“创建新配置文件”作为操作。这将启动CreateNewProfileStepOne.class,用户可以在其中输入名称,地址等数据。在CreateNewProfileStepTwo.class中也是如此。此时,用户可以自由地在CreateNewProfileStepOne和CreateNewProfileStepTwo之间来回切换,所有数据都被保存并通过意图传递。如果用户从CreateNewProfileStepOne.class备份,则所有输入的数据都将丢失,用户必须再次从头开始输入。
击中后在CreateNewProfileStepTwo.class活动“确认个人资料”按钮,但是,我想给用户MainMenu.class,以及杀死以前的活动ProfileMenu,CreateNewProfileStepOne和CreateNewProfileStepTwo。
当我进入MainMenu.class时,我将如何杀死这3个活动?据我所知,finish()只对一个且只有一个活动起作用 - 从它调用的当前活动。在我准备进入D之前,我不想杀死A,B或C.当我进入D时,我想同时杀死A,B和C.
答案 0 :(得分:2)
当您离开他们去另一个活动时,活动会被杀死。通过重新创建这些活动来完成这些活动之间的来回切换。
答案 1 :(得分:2)
创建Intent
以启动MainMenu
时,将此标记添加到意图:Intent.FLAG_ACTIVITY_CLEAR_TOP
Intent i = new Intent(MyCurrentActivity.this, MainMenu.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
不会保留历史记录,用户将无法返回之前的活动