Android应用可以包含,多个Activity,某个Activity可以启动另外的Activity。这些Activity采用栈结构来管理,新打开的Activity叠放在当前的Activity之上,当前的Activity停止运行。当一个Activity停止运行时,Android系统保留其停止前的状态,当用户按下“Back”按键时,栈最上的Activity从栈顶退栈,之前的Activity移到栈顶,显示在屏幕上:
有些时候,当一个Activity启动新的Activity后,不希望把当前Activity保留在Activity栈中,比如在使用Activity实现一个Confirm Dialog时,当用户确认后启动新的Activity,在新Activity显示时按“Back”后退时不希望在显示Confirm Dialog。
示例Fowarding 使用Finish()在启动新Activity同时结束当前Activity。
Intent intent = new Intent();
intent.setClass(Forwarding.this, ForwardTarget.class);
startActivity(intent);
finish();
Finish结束Forwarding Activity,之后按“Back”,则直接退到ApiDemo->Activity 示例列表,而不是Forwarding。
本文介绍Android应用程序中Activity的栈管理方式。重点讲述了如何通过Finish()方法控制Activity在栈中的行为,确保良好的用户体验,特别是在实现确认对话框等场景下。

1493

被折叠的 条评论
为什么被折叠?



