android的多个activity是用栈来管理的,有时候,需要在退出栈顶的activity的同时,退出其下的一个或多个activity,以最近做的网上找书和下载功能:
从书籍列表(activity——bookList)点击某本书,进入查看书籍信息的activity——bookInfo,在bookInfo页退出,则需要把bookList也finish掉。
几种思考:
1 bookList中进入bookInfo(startActivity())之后,马上调用finish()销毁自己。这样activity栈中就没有bookList了,bookInfo页退出时只需要finish就可以退出程序。问题是bookInfo页点击返回,就需要重新create一个bookList,且之前的状态已经没有了。
所以这不是一个好方法。
2 bookList不finish,在bookInfo页退出时finish掉bookList,但是从一个activity去停止其他的activity不是一个好的习惯,为什么?等我nb了告诉你,现在我只能回答,这样比较难实现。
3(本文要说的东西) bookList页调用startActivity去新建bookInfo的时候,采用startActivityForResult,并在onActivityResult方法(即被start的activity退出时调用的方法,详见api)中通过resultCode标记是否结束当前activity。
这样,bookInfo关闭时如果需要同时关闭bookList,只需要在关闭时setResult(int resultCode),告诉bookList也需要关闭即可。如果是点击返回,不setResult就可以了,这样bookInfo关闭了,bookList onResume。
分享到:
相关推荐
Android应用开发多个activity完全退出程序方法,亲测可用
Android代码一键退出客户端 多个Activity推出的时候用到的 原理是把所有打开的activity都放在一个list里面 当点击退出的时候便利list 然后一个一个的结束掉。方法简单易懂,一看就会
2、在你要退出的activity Oncreate方法中加入ExitApplication.getInstance().addActivity(this);作用是添加到你的activity历史中。 3、在你当前要完全退出程序的activity中覆盖onKeyDown方法. 4、当你点击手机的返回...
Android四大组件——Activity——Activity的生命周期.doc
Activity之间通信及其生命周期变化,及回传参数等基础知识点
Android学习笔记(一)——创建第一个Android项目 Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) ...
android点击按钮实现多个Activity滑动切换 切换方式从右边进入,左边退出
免费资源可以看博客中《Activity之间的数据回传》进行学习 Android开发 猴子摘桃小项目——学习Activity之间的数据回传
Android 实现了可以滑动左侧边缘退出Activity的功能
此工程为一键退出多个Activity简单示例,所有的Activity同时集成一个ParentActivity,在ParentActivity添加一个菜单触发事件来控制关闭activity,每打开一个Activity就记录下来并添加到一个list中,关闭的时候同时...
从注册流程分析如何安全退出多个Activity多种方式.rar
安卓Android源码——Activity实现透明的最简洁Demo.zip
Layout to left of…… 根据要求,系统实现以下功能:计算器界面友好,具有基本的加、减、乘、除功能, 支持触屏手机,整个程序基于android技术开发。 三、设计流程 1、系统的软件结构图 2、功能的操作流程 得出程序...
点击通知启动多个Activity.从启动Activity 返回不会退出app,而是返回到App 的MainActivity 或者其他Activity
本文实例讲述了Android一次性退出多个Activity的方法。分享给大家供大家参考,具体如下: 因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费点功夫了。我是在一个单例...
activity更新另一个activityUI方法——广播
service在后台下载,与前台多个activity通信,结果发现有一个坑,找到原因后,跟大家一起分享。
单个Activity 多个Fragment实现微信 Android客户端