当Activity处于Android应用中运行时,它的活动状态由Android以Activity栈的形式管理。当前活动的Activity位于栈顶。随着不同应用的运行,每个Activity都有可能从活动状态转入飞活动状态,也可从非活动状态准入活动状态。 归纳起来Activity大致会经过如下4个状态。活动状态:当前Activity位于前台,用户可见,可以获得焦点。暂停状态:其他Activity位于前台,该Activity依可见,只是不能获得焦点。停止状态:该Activity不可见,失去焦点。销毁状态:该Activity结束,或Activity所在的Dalvik进程被结束。 图4.15... Read More
Activity还提供了一个startActivityForResult(Intent intent,int requestCode)方法来启动其他Activity。该方法用于启动指定Activity,而且期望获取指定Activity返回的结果。这种请求对于实际应用也是很常见的,例如应用程序第一个界面需要用户进行选择一旦需要选择的列表数据比较复杂,必须启动另一个Activity让用户选择。当用户在第二个Activity选择完成后,程序返回第一个Activity,第一个Activity必须能获取并显示用户在第二个Activity选择的结果。在这种应用场景下,也是通过Bundle进行数据交换... Read More
当一个Activity启动另一个Activity时,常常会有一些数据需要传过去——这就像Web应用从一个Servlet跳到另一个Serlvet时,Web应用习惯把需要交换的数据放入requestScope、sessionScope中。对于Activity而言,在Activity之间进行数据交换更简单;因为两个Activity之间本来就有一个“信使”:Intent,因此我们主要将需要交换的数据放入Intent即可。 Intent提供了多个重载的方法来“携带”额外的数据,如下所示:putExtras(Bundle data):向Intent中放入需要“携带”的数据包。Bundle getExt.. Read More
一个Android应用通常都会包含多个Activity,但只有一个Activity会作为程序的入口——当该Android应用运行时将会自启动并执行该Activity。至于应用中的其他Activity,通常都由入口Activity启动,或由入口Activity启动的Activity启动。 Activity启动其他Activity有如下两个方法。startActivity(Intent intent):启动其他Activity。startActivityForResult(Intent intent,int requestCode):以指定指定的请求码(requestCode)启动Activit. Read More