Android API Demos学习(2) - Save ; Restore State
2390 点击·0 回帖
![]() | ![]() | |
![]() | 关键词: Android 展示了Activity被中止时是怎么样保存状态的。先了解几点知识: 本例通过onSaveInstanceState()来保存UI状态,onRestoreInstanceState()恢复UI状态。这个是Activity默认实现的,不需要我们调用。 onSaveInstanceState()不是Activity生命周期的一部分,在用户明确退出Activity的时候不会执行,比如按Back键。 关键代码: <EditText Android:id="@+id/saved" Android:layout_width="match_parent" Android:layout_height="wrap_content" Android:layout_weight="1" Android:background="@drawable/green" Android:text="@string/initial_text" Android:freezesText="true"> <requestFocus /> </EditText> <EditText Android:layout_width="match_parent" Android:layout_height="wrap_content" Android:layout_weight="1" Android:background="@drawable/red" Android:text="@string/initial_text"> </EditText> 一个定义了id,一个没定义,Activity默认只对定义了id的元素保存和恢复状态。 Android:freezesText为true是为了保存当前文本内容和光标位置。 <requestFocus />获得焦点。 ![]() 旋转屏幕(模拟器下按Ctrl+F11)后的效果: ![]() 摘自 小何才露尖尖角 | |
![]() | ![]() |