android 成长日记 3.关于Activity的用户体验提升办法和使用技巧说明
2019独角兽企业重金招聘Python工程师标准>>>
在activity中输入的信息当你再次返回时加入进程被回收,页面会重新建立,你输入的文本就不会显示了,因此,只要我们重写onSaveInstanceState参数是一个bundle类型,你可以给参数添加数据内容,存在此处,因为在oncreat函数中的参数便是此时的bundle类型的数据即savedInstanceState参数,你只要判断其是否为空从而取出你需要恢复的数据,进行逻辑处理即可。(onSavedInstanceState()函数要和oncreat中判断参数一起写才生效,但是手机比较好一直没机会测试这个功能,你要是知道怎么在第二个界面手动回收第一个Activity的进程请告诉我谢谢啊!!!)
public class MainActivity extends Activity {
public EditText editText;
public String a = "lkk";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = (Button) findViewById(R.id.button1);
editText = (EditText) findViewById(R.id.editText1);
TextView textView = (TextView) findViewById(R.id.textView1);
if(savedInstanceState != null){
String temp = savedInstanceState.getString("data");
editText.setText(temp);
a= temp;
textView.setText(a);
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String save = editText.getText().toString();
outState.putString("data", save);
}
}
这里我把oncreat取得数据不仅写进了EditText还复制给了TextView,但是我一直不能实现内存是回收,所以回头再测试吧,****
我找到了让他调用onSaveInstanceState的办法了,就是手机横竖屏幕切换时候,
这里一定要先声明初始化在赋值,也就是把if放在findViewById方法后边,要不一直空指针,旋转屏幕自动退出该activity,看似简单,我看了半个小时啊。记住啊。
2.activity的启动模式
默认就是standard。singleTop(只在自己打开自己的时候不会重新生成,就是你在栈顶的时候不会创建你,只会直接让你继续显示而已)。singletask(也就是只要栈里面有这个activity,如果发现已经存在则直接使用该实例,并把在这
个活动之上的所有活动统统出栈)。singleInstance中就很特殊了,就是可以使得特定的activity自己为自己生成一个栈堆,
例如,1 2 3三个页面 1和2是singletask,3是singleInstance,然后1打开2,2打开3,3,打开1.此时我按返回肯定是回到3,再按就到桌面了。原因就是这俩特性导致的。
转载于:https://my.oschina.net/u/2415724/blog/617883
android 成长日记 3.关于Activity的用户体验提升办法和使用技巧说明相关推荐
- android 动态contextmenu,Android成长日记-ContextMenu实现上下文菜单
一. ContextMenu的组成 标题以及标题图标 菜单内容 菜单内容的点击事件 二. ContextMenu与OptionMenu的区别 OptionMenu对应的是activity,一个acti ...
- 《破茧成蝶——用户体验设计师的成长之路》—2.2 用户体验设计师的价值
本节书摘来自异步社区<破茧成蝶--用户体验设计师的成长之路>一书中的第2章,第2.2节,作者 刘津 , 李月 , 彭文波,更多章节内容可以访问云栖社区"异步社区"公众号 ...
- paip.提升用户体验--提升java的热部署热更新能力
paip.提升用户体验--提升java的热部署热更新能力 想让java做到php那么好的热部署能力 "fix online"/在线修复吗??直接在服务器上修改源码生效,无需重启应 ...
- Vue进阶(幺柒零):前端用户体验提升(四)应用 rem/em 实现字体自适应
文章目录 一.前言 二.em 继承的例子 三.实际应用 3.1 使用 em 单位 3.2 通常不使用 em 单位控制字体大小 四.使用 rem 单位 五.小贴士 5.1 始终使用 rem 单位做媒体查 ...
- 2023年2月用户体验GX评测:国有行及股份行持续领跑,农商行农信社积极探索用户体验提升
易观:2023年2月易观千帆用户体验GX评测显示,国有行及股份制银行继续领跑手机银行用户体验,平安口袋银行.中国工商银行.招商银行稳居AAAAA级:城商行.农商行.农信社重视用户体验,银行下一步重点依 ...
- android 启动白屏_从细节入手改善用户体验,Flutter跨平台App开发中设置Android和iOS的启动页
前言 flutter开发App方便快捷,就是冷启动的时候要加载dart引擎有短暂的白屏,严重影响用户体验,这个时候我们就需要设置一个启动图片,想国内大部分App那样(例如微信那个地球),启动App的时 ...
- android 成长日记 5.关于progress控件和Alertdialog和layout学习
2019独角兽企业重金招聘Python工程师标准>>> 今天想实现一个工具类就是DialogUtil.方便大家建立各种dialog; public class DialogUtil ...
- Android成长日记-使用GridView显示多行数据
本节将实现以下效果 Ps:看起来很不错的样子吧,而且很像九宫格/se ----------------------------------------------------------------- ...
- Android成长日记-使用ViewFlipper实现屏幕切换动画效果
(一) ViewFlipper介绍 Android系统自带的一个多页面管理控件,它可以实现子界面的自动切换 (二) 为ViewFlipper加入View 1. 静态导入:在Layout布局文件中直接导 ...
最新文章
- 2022-2028年中国耐二甲醚橡胶密封材料行业市场全景调研及发展趋势分析报告
- 第一台计算机豹电器元件,电气基础和安全知识.ppt
- 可以忽略的:BASH:/:这是一个目录
- Laravel Eloquent关联模型查询设置查询条件与指定字段
- 数学建模之微分方程(符实现例题和MATLAB源码)
- 解读顶会CIKM‘21 Historical Inertia论文
- JSP 九大内置对象详解
- 【肥朝】从一次问题讨论聊聊我对阅读源码的思考
- mongodb 副本集Replica Set的keyfile验证
- 真核生物基因结构 mRNA结构
- 导入d2lzh_pytorch包会出现的问题以及解决方案
- java 串口 中文乱码_Java 实现 POS 打印机无驱串口打印(解决中文乱码)
- ubuntu安装最新的chrome浏览器
- iOS 使用oc 版本的Lottie 库
- 新书出版了 - 移动App测试实战
- 淘宝IFashion风格馆日常如何运营?
- 分享快看点助手APK和源代码
- 假如整个Windows都是一个人写的,那他需要多久能写完?
- 【竞品分析】小睡眠APP和蜗牛睡眠APP,基于用户体验5要素的分析框架
- Linux中miniconda的操作
热门文章
- C# list导出Excel(二)
- Linux -- 以root权限安装QT5.8.0
- STM32工作笔记0054---串口通信实验讲解--自定义发送接收数据协议
- IntelliJ Idea学习笔记004--- idea修改格式化代码快捷键_顺带一个激活地址_以及常用快捷键
- fckeditor零碎要点---3.FCK:editor instanceName=myeditor value=李德伟欢迎您 height=400/FCK:editor
- TypeError: 'float' object is not iterable
- 人脸识别运行之前需要处理的问题
- 一个字符串中包含另一个字符串所有字符的最短子串长度?——《编程之美》最短摘要的生成的简化
- 面试技巧:16个经典面试问题回答思路(转)
- opencv 修改图像数值_【1】Introduction to OpenCV (2)使用VS生成OpenCV应用程序