前面文章android2.3 api demo 学习系列(8)--App/Activity/Preference State已经介绍了如何保存ui的状态,本次学习的demo实现同样的功能只是实现的方法不一样。文章8中使用的是SharedPreferences和Activity的Onpause()、Onresume()方法结合使用保存ui的状态。本次使用的是onSaveInstanceState(Bundle savedBundle) 来保存ui状态。
和Onpause()、Onresume()不同的是onSaveInstanceState不属于activity生命周期的一部分,onSaveInstanceState不一定会再Activity销毁前被调用:例如用户按返回键时onSaveInstanceState是不会被调用的,但是Onpause()、Onresume()是肯定被调用的,因为他们是activity生命周期的一部分。
onSaveInstanceState被执行的几种情形:
1、当前应用被切换到其他应用,系统根据资源配置可能需要销毁后台运行的activity时
2、系统参数的改变:屏幕方向发生改变,这个时候activity被销毁前会调用onSaveInstanceState。
onSaveInstanceState方法在activity销毁前将ui的状态数据保存在bundle中,activity可以在onCreate()以及onRestoreInstanceState()方法恢复ui状态。
注意:本次demo也许你会发现示例代码中根本没有涉及到onSaveInstanceState的任何代码,而且同样是edittext 为什么一个本保存了ui状态,另一个没有被保存?
这一因为onSaveInstanceState默认实现了对设置有id(android:id)的ui保存恢复状态。
代码没有可贴的 直接上效果图:
旋转屏幕就可以看到效果了~~
- 大小: 45.3 KB
- 大小: 44.2 KB
分享到:
相关推荐
作用 设置本地所有文件的修改时间为 git最后提交时间 安装 下载并放到git.exe同目录即可 ...直接进入git工作目录,执行 git-restore-mtime 构建自 https://github.com/MestreLion/git-tools/releases/tag/v2022.12
##### (14) App -> Activity -> Save & Restore State - **概述**:进一步探讨了 Activity 状态的保存与恢复。 - **技术点**: - **onSaveInstanceState**:详细介绍 onSaveInstanceState 方法的使用。 - **...
Android API Demo中的Clipping例子是一个很好的学习资源,帮助开发者深入理解如何在实际应用中使用这一功能。下面将详细解释Clipping的概念、API以及如何在代码中实现。 1. **Clipping概念**: Clipping是图形处理...
- **多词组成**:除了根组件`App`外,其他组件名称应由多个单词构成。 - **语义化**:命名应具有明确意义,易于理解。 - **前缀使用**: - **公用组件**:以公司名缩写开头,例如`AbcdDatePicker`。 - **页面...
### Doris 数据备份恢复与节点扩缩容教程 #### 一、备份与恢复 ##### 1.1 准备工作 在开始备份之前,需要确保已经正确设置了...通过以上步骤的学习和实践,用户能够更加深入地理解和掌握 Apache Doris 的高级特性。
《Semi-Restore苹果iOS平刷神器:Windows版详解》 在苹果iOS的世界里,设备的系统恢复一直是用户关注的焦点。对于那些热衷于个性化定制和越狱的用户而言,Semi-Restore是一款不可或缺的工具。本文将详细探讨这款被...
### 利用dump-restore实现备份还原 #### dump命令的原理、优点及限制 - **原理**:`dump` 命令主要用于 Linux 系统的文件系统备份。它的核心功能在于能够创建自上次备份以来发生更改的文件列表,并将这些文件打包...
echo "export PATH=\$PATH:~/git/Terminal-Save-and-Restore/" >> ~/.bashrc source ~/.bashrc 更新 cd ~/git/Terminal-Save-and-Restore/ git pull 用法 # Note: Leave out `--session sessionName` to use the ...
在提供的`CanvasDemo`示例中,可能包含了以下几个步骤来演示`save()`和`restore()`的使用: 1. 初始化一个`Canvas`对象,通常是基于一个`Bitmap`。 2. 调用`canvas.save()`保存初始状态。 3. 应用一系列变换,比如`...
2. **选择恢复的文件**:根据列出的文件,选择需要恢复的文件,使用`--restore-all`恢复所有文件,或者使用`--restore-file <文件名>`恢复特定文件。 ```bash sudo extundelete --restore-all /dev/sda1 --output /...
描述文件 只能下载 iOS 13.1 的beta版 需要13.0 的话 需要自己先升级mac 系统到10.15的beta版 再去这个地址下载手机相应的固件 https://developer.apple.com/download/#ios-restore-images-iphone-new 通过ituns ...
SCANRump 仅通过使用、DUMP和便能跨云提供商实时同步 Redis 数据库RESTORE。它在Sticker Mule中用于使暂存和开发环境与生产 AWS/GCP Redis 集群保持同步。示例# Sync local Redis DB 1 to DB 2.$ rump -from redis:/...
总结来说,`save()`和`restore()`是Android `Canvas`中控制绘图状态的关键工具,它们允许开发者在执行复杂操作时保持绘图的准确性。通过熟练掌握这两个方法,你可以创建出更加灵活、富有层次感的图形界面和动画效果...
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,...
-rwx------ 1 rootroot rootroot 8557328646 12月 2 16:08 android_parrotv1.1_20161202.tar.gz* drwxrwxr-x 7 rootroot rootroot 4096 12月 2 15:52 lichee/ -rwx------ 1 rootroot rootroot 2488523424 12月 2 16:...
相关程序资源请在CSDN查找 如何配置: 1.安装PostgreSQL数据库,本系统使用PostgreSQL数据库 ...2. 完善DEMO网站的功能 =================================== V 0.1.0.30 1. 完成访问日志的主要功能
如何配置: 1.安装PostgreSQL数据库,本系统使用PostgreSQL数据库 2.将visit_logger_20091101.zip文件解压,...2. 完善DEMO网站的功能 =================================== V 0.1.0.30 1. 完成访问日志的主要功能
import { save , restore } from 'save-selection' ; // will save selections in <mark> elements // with classes "selection-start" & "selection-end" save ( document . querySelector ( '#main' ) ) ; // ...
支持从裸磁盘、分区、文件中搜索所有IBD page碎片。 1、输入字母a-z :搜索对应的逻辑分区A-Z。此模式请以管理员身份运行。 2、输入数字1-9 :搜索物理磁盘,对应“磁盘管理器”中的磁盘0-9。...
这是我从国外网站上找到的Root 4.0/4.1手机的工具。 在我的4.0.4的机器上,通过z4...http://thenextweb.com/google/2012/09/17/this-script-lets-root-android-4-0-ice-cream-sandwich-android-4-1-jelly-bean-device/