关于Android旋转屏幕丢失数据的新读
来源:互联网 发布:交换机进入端口命令 编辑:程序博客网 时间:2024/05/02 07:17
onSaveInstanceState()
方法中保存界面所有数据,然后在onRestoreInstanceState()方法中还原数据才行。直到今天看到这样一句话:
“By default, the system uses the Bundle
instance state to save information about each View
object in your activity layout (such as the text value entered into an EditText
object). So, if your activity instance is destroyed and recreated, the state of the layout is restored to its previous state with no code required by you. However, your activity might have more state information that you'd like to restore, such as member variables that track the user's progress in the activity.”
默认情况下,系统会使用Bundle来保存布局中每一个View对象的实例状态(例如写进EditText中的文字)。因此当你的Activity被销毁并重建之后,你不需要写任何代码就可以实现布局状态的还原了。然而你的Activity可能有一些其他你需要存储的信息,例如保存用户当前进度的成员变量值。
看到这段我感觉很奇怪,与我的经验不符,而且新写了一个只有EditText的Demo旋转屏幕测试了一下,EditText中的文字确实会因为旋转屏幕而丢失。百思不得其解之下又看到了这句话:
“Note: In order for the Android system to restore the state of the views in your activity, each view must have a unique ID, supplied by the android:id
attribute.“
Android系统存储和还原View的状态必须有一个唯一的ID
给EditText设置id之后,果然在旋转屏幕之后数据被自动还原了。
原文http://blog.csdn.net/h3c4lenovo/article/details/41891921
- 关于Android旋转屏幕丢失数据的新读
- 关于Android旋转屏幕丢失数据的新读
- Android项目旋转屏幕数据丢失的原因及解决
- 关于android屏幕旋转问题
- 关于屏幕旋转的问题
- 关于屏幕的旋转问题
- 关于ToolRotate——Android屏幕方向旋转的根源
- 关于ToolRotate——Android屏幕方向旋转的根源
- 一个关于android旋转屏幕界面的方法
- Android旋转屏幕不销毁数据的方法
- IOS 关于IOS8屏幕的强制旋转与新的特性
- Android 屏幕旋转的处理
- 关于 Android 4.4 系统屏幕旋转调研
- Android——处理设备旋转Activity销毁时临时数据丢失的问题
- 关于iOS6.0 屏幕旋转的问题
- 关于IOS屏幕的旋转问题
- 关于旋转屏幕的一些总结
- 关于屏幕旋转
- 【SPOJ-IWGBS】0110SS【Fibonacci】【高精度】
- Java笔记之正则表达式
- socket编程例子
- 数据库优化的演化
- View的事件分发机制最新源码剖析
- 关于Android旋转屏幕丢失数据的新读
- CocoaPods安装使用及配置私有库
- 在新浪SAE上部署应用实战心得
- window平台安装 MongoDB
- 一个最简单的模态框模板~
- 三星note2 android调用系统拍照空指针异常
- CAAnimation抽象类及子类的详解
- mysql sql语句执行顺序
- 视频播放(MPMediaPlayerController,AVPlayer,AVPlayerViewcontroller) for iOS