博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android点击返回键,如何做到不destory当前activity,只是stop。重新返回该activity的 时候可以直接使用,不需要创建新的activity实例...
阅读量:5118 次
发布时间:2019-06-13

本文共 1020 字,大约阅读时间需要 3 分钟。

问题描述,如题目:

android点击返回键,顺序执行 pause,stop,destory.

以至于想重新进入这个activity的时候还要重新执行onCreate()方法,那么如何解决不再重新执行onCreate()方法呢?

 

首先,所操作的activity需要在清单文件AndroidManifest.xml中把添加属性android:launchMode="singleInstance

如图,我要操作的是GoUI这个activity

 

然后,在你需要操作的activity里面重写下面这个方法:

@Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode==KeyEvent.KEYCODE_BACK){            moveTaskToBack(true);            return false;        }        return super.onKeyDown(keyCode, event);    }

 

监听按键,如果是返回键,则把当前activity添加到后台,而不是惯例似的destory掉。return false与return true的结果是不一样的,前者返回键是回到上一个activity,后者会直接最小化应用,重新进入应用之后首先就会看到你所操作的这个avtivity!

 

运行之后,实现的效果是:

从activityA进入到activityB,再从B进入到activityC(我操作的是activityC),然后返回B,再返回A。A中有个按钮可以直接到C,点击之后,就会发现C的onCreate方法不会被执行。该activityC只是从stop状态解除,重新运行。

下面是activityC经历的一切:

creat-->start-->resume-->RUNNING-->pause-->stop-->restart-->start-->resume-->RUNNING

不过这么做就会导致如果过你想把这个activity关掉就需要大费周折了。除非是直接KILL你的APP。

话说回来,既然你有本文这个需求,应该来说这个activity也不想关掉把哈哈!

 

转载于:https://www.cnblogs.com/simuhunluo/p/6592509.html

你可能感兴趣的文章
BZOJ 1005 明明的烦恼
查看>>
Vue.js----vue中json-server的简单使用
查看>>
20145307《信息安全系统设计基础》第7周学习总结
查看>>
less 经典范例 bootstrap 的 less 版本 常用 less 代码
查看>>
iOS酷炫动画效果合集
查看>>
闭包函数延迟机制的面试题
查看>>
输出两字符串最长公共子串
查看>>
常用第三方库
查看>>
mongodb for循环插入数据
查看>>
VS2010查看源码对应的汇编语言
查看>>
老了也要成长
查看>>
JavaScript访问对象的属性和方法
查看>>
分类器、logistic回归
查看>>
flex布局
查看>>
《Java虚拟机原理图解》4.JVM机器指令集
查看>>
傻瓜方法求集合的全部子集问题(java版)
查看>>
杭电1879继续畅通project
查看>>
pdf怎么转成word?最简单的文件转换方法推荐
查看>>
c/s模式 (C#)下Ftp的多文件上传及其上传进度
查看>>
JS 9*9乘法表 不注意对齐
查看>>