- 当activity处于不可见状态被系统回收时(其实是重新执行onCreate方法时,如旋转屏幕),若当前activity有用户正在输入的东西,则重新onCreate的时候会丢失掉,为了防止丢失,activity提供了一个
onSaveInstanceState()
方法以保存用户当前可能会被清除的信息。
使用方法如下:
- 保存当前状态
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
String data = mEditText.getText().toString();
outState.putString("data_key",data);
}
- onCreate的时候读取保存的状态
if(savedInstanceState != null){
Log.i(TAG, "onCreate: something you just typed is:"+savedInstanceState.getString("data_key"));
mEditText.setText(savedInstanceState.getString("data_key"));
}